【元戎面经】7.28更新,进入面试的简历有啥特点
软件开发
7.27一面
- 自我介绍
- 经纬恒润实习经历
- 对AutoSAR的了解
- DOIP诊断中相关协议的了解
- 对C++的了解
- 两道题
- C++多态,根据多态扩展出override、virtual等关键字的作用以及底层逻辑
- 三大拷贝:默认拷贝、复制拷贝、移动拷贝,并结合vector编写相关代码,产出结果
- 反问
7.18一面
1.自我介绍
2.华为HPC高性能软件迁移这个项目是什么?做了多久?
3.博客 开源
4.做题 搓生产者-消费者(五十分钟 强度主键递增 需要加强)
5.channel的哪些情况会阻塞(读阻塞 写阻塞 还有没有其他情况)? 往nil的channel读写是会阻塞还是会panic?(都是阻塞) 哪些情况会panic?
6.git命令 git rebase和git merge的区别? 你用的哪个 推荐用哪个? git cherry-pick
7.一个进程hang住了 该怎么排查问题 (1.看系统资源 2.看日志 3.ps看进程状态 4.中间件 5.调试工具 6.代码审查)
8.为什么握手是三次 挥手是四次
9.分布式系统了解吗?raft的心跳是什么?raft选举竞争问题怎么解决(心跳时间加上随机值)
10.K8S了解的多吗?安装K8S集群的时候那些镜像包是怎么安装的?
11.debug工具(可以说说pprof和trace的 忘记说了)
12.数据库如何实现事务,你如何实现事务的原子性
13.etcd知道吗?底层实现知道吗?(不知)
14.你现在在哪?了解我们公司吗?
Q & A
1.面试表现:代码能力需要加强
2.您的日常工作 你想走什么方向
7.14一面
40min, 以为会问些c++八股和手撕,结果全是问的项目底层...没有什么参考价值但还是记录一下,实验室项目里面用了容器,然后全程就是容器原理,容器通信原理。 开始还好,后面就开始问命名空间怎么创建,我回答clone函数中有一堆flag,选择对应命名空间的flag就可以创建一个进程,并且运行在这些命名空间中,然后接着问clone函数里是怎么实习命名空间的,这个不知道。
然后问我知不知道tun/tab,隧道大致我知道,用于容器跨主机通信的。然后问原理,大致网络原理我知道是进行二次报头封装,然后就问我怎么自己去实验这个东西,给了个通信场景让我说说怎么实现,答不出来,然后又问v2ray用过吧,这个东西让你来实现怎么实现,又答不出来,面试官挺好,还给了我台阶下,说了两个步骤,问我第三步怎么做,但我太菜了确实不知道,没有怎么去看过这个。 后面基本就是当场给我上课了,大概意思就是说不要只会用linux上的一些东西,要知道怎么去实现。后面本来还想讲讲iptables的,但看我tuntab都不会就没讲了,提前结束了,(其实iptables我还是知道一点的,但也不是很深,就没敢提)
7.14一面
项目(25mins)
1. 进程间通信方式
2. 说说C++多线程
3. C++异步
4. 用多线程实现处理多个文件中的数据,并求和(不会)
5. const
6. C++的数据结构有哪些
7. 手写用两个栈实现队列
7.14一面
●先简单问了下项目,主要还是问八股
●仔细的问了B+树/B树/红黑树/哈希表,包括怎么插入删除,什么场景下使用哪个,之后还延展到LSM tree
●智能指针了解吗?说一下weakedptr使用场景?
●说一下enable shared from this
●右值引用,move,移动构造
●tcp三次握手,accept对应三次握手中的哪次
●高性能的web服务器怎么实现的(因为简历中提了一嘴)
●io uring了解吗?说说proactor模式
然后留了30分钟写了两个题,一个LRU,一个快排求第k大的数
7.13一面
聊了大概十分钟实习项目,然后进入八股环节,感觉面试官特别喜欢问实际场景中的应用
- golang的channel是什么,应用场景是什么,有什么分类,底层是什么
- golang的GC了解吗,说一下
- python生成器和迭代器,平常使用的场景是什么
- 对协程的一个理解,平时使用的场景是什么
- tcp建立连接后,如果没有收到服务端的消息,客户端会做什么
- 建立TCP连接有几种状态
- 千万级大规模数据读写,从数据库,缓存,主从集群,分库分表的角度去讨论
算法题:重排链表
7.12一面
1、自我介绍
2、对简历上的项目进行介绍
3、C++ struct 和 class的区别
4、指针和引用的区别
5、为什么模板类写在.h中,不在.cpp中
6、一个程序怎么从文本文件编译成可执行文件
7、链接分为动态链接和静态链接。那有什么区别?
8、排错题:两道涉及类的继承编程题:n×m大小的矩阵,顺时针打印出来。
7.12一面
C++与C的区别
RAII机制
vector底层原理、扩容怎么实现的
了解过模版吗?模版重载与函数重载
C++11新特性用过哪些
智能指针相关
为什么使用make_shared、make_unique,而不是使用原生指针
编程题:岛屿数量、最大面积
大数据
7.17一面
- 自我介绍
- 项目的技术难点
- redis怎么在项目里面用的
- 实习经历里面所学所悟
- 线程池用过吗,了解多少,为什么要使用线程池
- 用过什么Java的集合结构,我说的HashMap
- TCP UDP的区别和应用场景,以及三次握手
- 拥塞控制和流量控制
- DNS
- 算法题:删除链表的倒数第n个节点
- 用过哪些数据库,索引-B+树
- 反问环节
嵌入式
7.17一面
1、介绍研究生课题、做的项目
2、如果要写一个SPI的驱动,整个流程是怎么样的(瞎说的,不是很懂,没写过)
3、一个64位的机器,short ptr[] = {0,1}, sizeof(ptr)和sizeof(&ptr)分别是多大(之前看别人分享过,所以知道 4和8)
4、生成的可执行文件,其中每个段存在的位置在ROM还是RAM(代码段应该会从磁盘加载到内存来运行,这里ROM和RAM感觉面试官也挺模糊的,不是很懂)
5、C++中纯虚函数和虚函数的区别(一个接口类、一个多态,没得说)
6、有没有ROS、控制算法之类的开发经验(估计是做汽车底盘相关的控制,我啥也不懂。。)差不多到这儿不到20分钟。
然后一道算法题,中间面试官找题花了一些时间,和他闲聊了一些,透露出这边面试总共估计得4-5轮我只能太恐怖了,而且每次都得撕题,感觉离寄不太远了
。题目大概是这样:输入一个字符串表示的整数(很长),去掉K个字符,使得最后得到的字符串表示的整数最小,例如对于“1422219”,K=3,最后输出“1219”,对于“10200”,k=2时,输出“0”。菜鸡写了半个多小时
,第一次面试的题都这样,后续估计直接就是 中等+hard=寄
7.14一面
开局直接讲项目,我把最拿得出手的项目一讲(tc377 gps+九轴陀螺仪+摄像头+图像处理)的比赛。期间被多处细问但完美解决。
然后问了一个spi通信原理,我给忘了(我怎么能把这给忘了啊😤😤),只讲了个大概。
问了一个pid,p i d各自含义及用处。
跟面试官讲实话:我才开始背八股文,C++和数据结构还没咋预习,C语言最熟。也就只问了最简单的C语言。(面试官人真的很好😭😭😭)
问了一个二维数组地址是否连续。
问了一个在64位系统下。
short i[]={0,1} printf(sizeof(i)); printf(sizeof(&i)); 两个输出分别是多少
然后是手撕一个两个升序数组合并题,这题在leecode上刷过,虽然不是最优解但也是写能跑并提交了。期间面试官还指出几个小bug。
最后让我问些问题,我就问了些个人技术发展方面的。总体对我评价是不错。但自己感觉自己还不够好。
7.11一面
1、自我介绍
2、项目介绍,解释项目中的内容
3、SPI,CAN的工作原理
4、进程和线程的区别
5、进程间通信方式,无名管道和有名管道
6、信号量通信
7、C与C++中struct的区别,class与struct的区别
8、还有一些简单的基础题,忘了。
9、一道编程题
10、反问
过往面经汇总
https://www.nowcoder.com/discuss/507176881729372160
【2024校招投递地址】
点我,投递的同学,在下方回复:名字简称+地址方便确认是否投递成功,例如:xyz + 深圳
【优秀简历小妙招】
- 有实习经历必写
- 项目经历要写一些难度大的(一些很多人写的还是不放为妙,不然减分)
- 项目难点重点写
- 奖项:计算机相关奖项突出显示