西安三星
西安三星面试总结基本情况岗位:多媒体开发/嵌入式开发
Base:西安
时间线投递(20220810)—-> 一面(20220820)
面试流程总共三个面试官,约了30min,先做一个英文自我介绍,接下来三个面试官轮流提问。
面试过程面试官1(AI部门的):是做AI软件开发的,问我是否对该部门感兴趣~当然感兴趣。。
Q1:c++代码转换为可执行文件的过程?
Q2:是否了解偏特化??
Q3:左值和右值的使用&是什么?
其余的忘了。。
面试官2(多媒体部门的):
是个女的,就问了一点基本情况,还有个c++/操作系统的知识,具体的忘了,再就是问了我投的啥岗位愿意过来吗?
面试官3(嵌入式部门的):
Q1:介绍下TCP通信过程在802.11中的体现过程?
A:对该问题不是很理解,因为是两个层的协议,面试官说这个问题确实不合适,又给我换了问题。
Q2:线程间通信的方式?
Q3:线程1中定义一个new的变量,线程2能否使用?进程中定义的全局变量线程能否使用?
最后回答一半,视频终止了,,后来面试官电话过来了就继续回答。。
最后就是反问阶段,问了下部门技术栈和对应届生的要求之类的。。以及 ...
猿辅导
时间线总共应该是有三轮技术面,面的好会有四轮技术面。
投递(20220814)—->一面(20220813)——>二面(20220817)
岗位:IOS客户端开发
一面三部分:自我介绍、技术交流、反问阶段
自我介绍:老三样(教育背景、项目经历、个人技能)
问了一些c/c++基础、c++11新特性(左值、右值)、c相关的如何定义MAX的宏定义、const&constexpr和宏定义之间的区别?
计算机网络(TCP三次握手、四次挥手的具体细节、socket编程具体过程、HTTP和HTTPS的区别、CA证书?)
算法:链表反转(迭代法和递归法)
反问阶段:
1.公司的目前情况?
2.主要的技术栈?
【总结】面试官人挺不错,不会的一直在引导你,问的也比较常规,算法也比较简单。。
二面同样三部分:自我介绍、技术交流、反问阶段
自我介绍:老三样(教育背景、项目经历、个人技能)
c/c++基础:左值&右值,++i和i++是右值还是左值??(这个之前stl中看过但是忘了,,,尴尬)、偏特化?(完全没有听过。。)C++的程序编译的过程
操作系统(IO多路复用的区别和联系)
算 ...
南京银行二面
8.17南京银行二面——区块链技术有关问题_JiaHui专属区块链技术在金融方面的应用了解吗其实在进行分领域的区块链应用案例分析前,需要先从整体把握它的底层应用逻辑,解决三个本质问题:
区块链应用本质上是在用什么?
从技术的角度:区块链是一个分布式数据库
从金融/组织管理:区块链是一个分布式账本,之前的数据库账本都是由有个中心节点去控制和管理的,但是区块链可以实现多中心的同步
区块链能解决所有的信用问题?
不能,只是减少不可信环节,将信用60%提升到80%(只是举例子),而不是从0%到100%
区块链如何提升信用?(这是在实现金融领域的技术商的两个大的逻辑)
从两个角度来看:
(1)信用假设的转变:用更严格共识和高作恶成本约束未来行为
之前是基于人和信息的信用假设,通过历史信息去推测一个公司、个人等未来可能的信用情况
区块链是基于数学和经济学的信用假设,预先设置好共识机制,用博弈论等去规范未来行为
这两种假设哪个更稳定和有效是非常明显的,而这种信用假设的转变也可能是某种思维范式的转变。就是解决一个问题,如何运行一个信用社会。在区块链的师姐里,并没有好人与坏人之分,如果机制设置的足 ...
万集_提前批
万集科技(提前批)【时间线】投递时间(2022/7/21)—>面试时间(2022年7月29日)
【岗位】软件开发工程师
时间线:
笔试
无
面试
两个面试官,一个负责提问题一个负责记录。面试过程中直接问两个项目做了什么,具体的细节以及优化方法。
最后面试官问我职业规划,说想去做架构师,面试官说不知道他们是否符合我的预期,他们是做边缘计算的,看我愿意不。。当然愿意呀~不知道后续啥结果了。
虹软_提前批
虹软(提前批)【时间线】投递时间(2022/7/2)—>测评时间(2022/7/24)
【岗位】嵌入式驱动/应用开发工程师
笔试时间】2022年7月24日 21:09:42
笔试四道编程题30、20、20、30分
题1:Tire树实现(该题坑点在于需要实现删除字符串操作,一般都是直接查找和插入,没注意删除字符串的操作。。。)
题2:属于easy了,见该链接https://blog.csdn.net/HelloZEX/article/details/81162281
题3:https://blog.csdn.net/qq_40879535/article/details/117808038
题4:https://blog.csdn.net/zhizhengguan/article/details/125561592
三一集团_提前批
三一集团(提前批)【时间线】投递时间(2022/6/1)—>测评时间(2022/6/10)—>一面(2022/6/25)—>二面(2022/7/5)
【岗位】软件开发工程师
笔试报的软件开发,结果上去全是JAVA知识而且是英文的。。。。
面试面试官介绍了分为三部分:自我介绍(介绍自己的情况+项目细节)、面试官提问题、反问阶段。
1)自我介绍部门:就是介绍教育背景+实验室项目(WiFi、NAN)+自己的项目。
2)面试官提问:
1、实验室项目
wifi5和wifi6的区别?(这个属实没想到,)
答:能不能回答wifi7和wifi6,wifi5没接触过。讲了几个核心技术。
追问:跳频也可以解决同频干扰,为啥要用多AP?
答:跳频是蓝牙的技术,802.11使用的CSMA,又讲了多AP的区别。
追问:低频和高频的对传播距离有什么影响?
答:讲了60GHz的协议ad和ay和sub7频段协议的区别、影响以及EDMG/DMG STA 为了实现这些技术做的工作。
2、C++/C部分
Q1:STL有哪些?
答:讲了List ...
锁
重点1:锁自旋锁特点:当线程获取锁失败时,线程会一直处于忙等待状态,直到拿到锁。
使用场景:在非抢占式内核中非常有用。用户层适用于不允许抢占的实时调度中。并且当==被锁住的代码执行时间很短时==。
注:因为在抢占式的内核或实时调度中,当一个线程获取自旋锁失败后会一直处于阻塞状态时,操作系统会将该线程挂起,让别的线程进行工作。
使用方法:
123456789#include <pthread.h>int pthread_spin_init(pthread_spinlock_t *lock,int pshared); // 初始化// pashared表示进程共享属性,PTHREAD_PROCESS_SHARED表示自旋锁能被可以访问锁底层内存的线程所访问,即使这些线程不属于同一个进程;PTHREAD_PROCESS_PRIVATE表示自旋锁只能被初始化该锁的进程内部线程所访问。int pthread_spin_destory(pthread_spinlock_t *lock); // 反初始化// 加锁int pthread_spin_lock(pthread_spin ...
进程间的通信方式
重点1:进程间的通信方式答:包含有六种、管道、消息队列、共享内存、信号量、信号、socket。
方式1:管道管道可以分为匿名管道和有名管道。在管道中传输数据是==单向==的。
匿名管道(PiPe):只能用于有血缘关系的进程之间。例如,采用fork函数创建的父子进程。
案例说明:例如在shell中使用|代表左边的输出作为|右边的进程的输入。
1ps auxf | grep mysql
在代码中创建的方法:
1int pipe(int fd[2]);// fd[0]代表读 fd[1]代表写
匿名管道作为特殊的文件,只存在于内存,不存在文件系统中。
两个描述符都存在于同一个进程中,因此使用fork创建子进程时,创建的子进程会复制父进程的文件描述符。这样就使得两个进程各自有两个fd[0]和fd[1]了。
有名管道(FIFO):可以用于不存在血缘关系的进程之间。
创建有名管道的方法:mkfifo,例如
1mkfifo myPipe
代码中实现的函数:
1int mkfifo(const char* pathname,mode_t mode)
==注意:==
管道其实本 ...
高通二面
高通二面时间轴梳理:2022年4月22完成一轮电话面,晚上7点左右约了二面,时间定于4月26日下午三点到五点。
整个过程:整个面试过程一个人面了5个技术大佬好像???(有点忘了具体几个了)每个面试官好像都给面试超时了,最后总共花了3小时30分钟的样子(吐槽一波airpods的续航真的不行!!!!,最后都没电了和面试官边聊边换设备)
【面试官1】
15:00开始,
上海疫情期间,大佬在家中,边聊还能听见孩子在旁边玩耍~
首先让我自我介绍、介绍项目、问常见的C/C++基础、socket编程、计网之类的还有linux系统结构。基本上也都能回答出来
后来感觉大佬有小孩折腾有点心不在焉的样子于是变被动为主动,掏出一个编程项目疯狂讲项目,后来大佬喊停说是后面还有同事要问问题就问我有没有想问的问题?
必然需要问几个经典的问题:大佬现在做什么?实习过去我负责什么业务之类的?
【面试官2】
等待3、4分钟后,面试官二上线,同样自我介绍、接下来是问技术的,同样是老三样,c/c++基础、计网、数据结构之类的~
然后出了个情景题好像,说啥软件层面实现定时器?讲了MFC里面的定时器啥的,然后让我设计一个数据结构 ...
特性2:返回类型后置
#《C++11新特兴—C++标准库的更新》
##特性2:返回类型后置
1、使用场景主要用于一些可能需要通过参数的运算来得到返回值的类型。例如如下场景: auto z1 = add<decltype(x + y), int, double>(x, y);中如果在使用时要传入返回值类型就必须知道函数中做了哪些操作,这样才能知道返回值的类型,但往往在调用时并不知道里面做什么操作!
123456789101112131415161718#include <iostream>using namespace std;// R->返回值类型, T->参数1类型, U->参数2类型template <typename R, typename T, typename U>R add(T t, U u){ return t + u;}int main(){ int x = 520; double y = 13.14; auto z1 = add<decltype(x + y), int, do ...