【元戎24秋招最新面经】7.27更新,附上能进面试简历特点
软件开发
7.26元戎二面软开面经
- 自我介绍
- 数据库为什么要加索引,怎么设计优化索引,怎么知道数据有没有走索引,走的那个索引。
- 给出一个静态/动态变化的数组,如果需要精确查询怎么查找,如果需要范围查询怎么查找
- TCP为什么要三次握手,两次有什么问题
- TCP的拥塞控制
- 直播服务应该用TCP还是UDP
- 问kafka怎么使用的,我说只是简单使用后就没追问底层原理了
- 问返回状态码怎么包装的,单纯用http状态码还是返回具体信息,问怎么区分超时错误是网关还是后端
- gin的中间件(没答上来),跨域(没答上来)
- 问context,用context写一个超时中断(没写好)
- 用golang写一个并发打印(又没写好)
- 问了实习的一些项目
- 写一个机器复用分配的场景
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.20二面
(1)项目介绍以及问题
(2)RTOS系统的核心运行方式,相关信号量,互斥量等问题
(3)RTOS系统任务是如何调度的,优先级问题
(4)中断概念,如何中断,RTOS中的硬中断如何工作,软中断如何工作
(5)RTOS系统运行中硬中断发生时,RTOS系统会如何处理
(6)RTOS系统中的存在两个软中断时,系统会怎么处理
(7)RTOS系统运行的环境是如何?一般在什么样的处理器运行
(8)IIC的运行方式?IIC从机地址是如何配置的?主机地址是如何配置的?
(9)运行过程中,如果新的IIC设备接入,主机和从机如何交换地址?
(10)UART的协议,一共多少根总线,每根线的作用是什么,有什么线是不用接的?
(11)UART协议一般是使用什么接口来包装的?
(12)RS232和RS485的电气特性?差分电平是多少,分别对应什么逻辑?
(13)linux系统中,挂载驱动最核心的东西是什么?
(14)linux中,驱动是如何运行的,依赖着什么?
(15)linux中如果有一个IIC设备,他的挂载流程是什么?设备树起到了什么作用?
(16)你还熟悉哪些片上资源?
简述SPI编程题:一道数学题目附加:(1)如何计算出计算的误差(2)如何减少时间复杂度
(17)反问
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 + 深圳
【优秀简历小妙招】
- 有实习经历必写
- 项目经历要写一些难度大的(一些很多人写的还是不放为妙,不然减分)
- 项目难点重点写
- 奖项:计算机相关奖项突出显示