@LiuYongQiang6

目标岗位

本硕均为机电专业相关,比赛和项目也是软硬件结合,个人软开背景中学已经学过pascal和数据结构与算法,大学本科除了C语言和微机原理基本没学过CS相关课程,研究生才把操作系统、组原以及计算机网络补上,顺便补了个c++,抽空玩linux,秋招前3个月开始刷题(牛客300,力扣350)。 第一目标岗位:嵌入式软件。
第二目标岗位:C++后台开发。
第三目标岗位:游戏相关岗位以及硬件。

投递公司:大疆深圳(嵌入式软件,offer),华为杭州(操作系统内核开发,offer,签约),小米武汉(物联网嵌入式软件,offer),远景智能(C++后台,offer),网易雷火游戏服务器提前批(笔试挂),网易雷火游戏测试开发(offer),中兴南京(软件开发,offer),网易互娱游戏策划(一面挂),腾讯(c++后台,笔试挂),oppo(c/c++软件开发,笔试通过拒绝面试),小马智行/图森未来(简历石沉大海),株洲中车时代电气(大数据智能部门?,offer),。

前期准备

今年秋招前期体验十分艰难,十分庆幸当时没有轻信师兄做深度学习,学完吴恩达的机器学习课程及时刹车选择了做自己喜欢的嵌入式linux开发方向,顺便利用学习下来的东西一个人参加了下中兴算法大赛,摸了个名次,并且找了个学校附近的物联网公司做嵌入式linux的实习,下班复习基础与刷题:
1. 笔试刷题 ,非常重要,不然面试机会都没有,leetcode感觉是普通应用题,实际笔试可能是综合应用题,我采取的是专题速刷,半个月回顾一次;
2. 专业面试准备 ,重点复习数据结构、操作系统与计算机网络,我采取的方式先看别人的面经总结,并结合笔记,最后结合书籍构建系统,有时间可以看看源码,个人除了后台相关重点关注了嵌入式相关的总结以及linux源码分析,深入理解linux内核,linux驱动开发。
3. 综合面试准备,个人项目精炼,个人职责,亮点总结,个人项目介绍从结构、硬件、软件角度分析,完成的工作,可采用第一点、第二点等方法表示,个人项目逐点介绍采用为什么?怎么做?取得的效果?流程介绍,并准备一两个超级亮点和超级难点(你并未解决)。

面经

1.大疆
一面,仔细询问笔试细节,并且挖深,被仔细询问了在笔试中用的bitmap算法,为何要用,有什么特点,怎么做的,然后抓住linux驱动开发项目追问细节,并引申,open/read/write等函数具体是怎么工作的,从用户态的系统调用闻到内核态的数据结构,基数树等,内存管理相关问到了linux系统中页缓存、缓存命中以及mmap相关的问题,比如两个大文件需要进行交互如何做,中断的上半部以及下半部等,为何要设置上半部和下半部,怎么做的,自旋锁和互斥锁的区别以及应用场景,如何实现一把自旋锁。
二面,基本就是问项目,RM比赛中学到了什么,比赛看了没有,觉得有什么问题,哪些可以改进,如果让你重新设计一个机器人,你希望设计出什么新功能可以在比赛中取到突出的效果。项目中涉及到硬件电路设计,被问到了信号链如何分析以及电源管理如何设计,开关电源与线性稳压器的对比,能接受提前实习么?
三面,应该是个pm,项目介绍,你觉得你做的最好的是哪块,最差的是哪块,个人优缺点,合作中出现问题应该怎么做,然后就是介绍公司业务和发展。

2.华为:
一面,笔试回顾,个人情况特殊,笔试40分钟A了两个题便出去做oppo笔试,第三题没看,面试官看提交情况很好,只有3次提交,便放我一马,没问第三题,然后询问项目,细节记不大清,都是基本操作,最后做算法题,leetcode原题,打家劫舍,简单动态规划,分析一下算法复杂度。
二面,说一面面试官评价不错,直接跳过了项目介绍与询问,问中学时候参加信息学竞赛的经历以及中兴算法大赛,最后环节是算法题,消灭进程树,hash表加队列。
三面,项目介绍,什么是一份好的代码,了解操作系统么,做过哪些相关的工作,看过哪些相关的书籍。

3.小米
一面,询问项目细节,RTOS与linux的区别,如果让你写一个RTOS你应该写哪些功能,哪些是必须的,会用到哪些重要的数据结构,指针熟悉么,和C++中的引用的区别,什么时候用二级指针,C++中动态数组vector是怎么实现的,C语言中的设计模式了解么,最后做了一个简单的题,找出区间内乘积最大的两个素数。
二面,基本是项目,没啥印象了,然后问拿了哪些offer。

4.远景
一面,项目细节,三次握手以及四次挥手,超时重传算法,如何给一个超大文件进行排序,hash分桶;
二面,跟大疆三面差不多;
三面,跟hr聊天;
终面,会什么,能做什么,然后就是岗位介绍画饼。

总结

时间过了太久,只有大疆印象深刻,其他基本忘得差不多,网易雷火游戏测试那部分虽然5面,刷人较多,但是看完牛客上的面经应该问题不大,唯一有点难度的是总监面时的算法题,当时做的一个dfs,比较复杂,分4种情况。中兴和中车感觉只要是个985应该问题不大,中兴一面讲了一下epoll的实现面试官眼睛都亮了,强行给我加上了南京的软件岗,中车同上,背景相关即可。

后台面试虽然准备了很多,但是由于基本找的都是C相关的底层岗位,基本没怎么问,redis和ngix基本没问,数据库相关的问题基本没碰到,可能第一目标岗位面试比较顺利便没怎么投C++后台相关的岗位开发,简历上基本没写C++后台相关的项目。

以上,重点还是代码基础,也就是数据结构和算法,和项目结合的代码的逻辑实现,CS基础知识个人认为自己用的少的把面经看完即可,把自己做的项目细节融汇贯通,能抗住连环5问即可,答不上来避免强答,然后整理思路理清条理,平时多思考为什么怎么做有什么效果,然后干净一点吐词清晰即可,给自己一个好的面试体验以及给面试官一个好的面试体验,回答的时候尽量看着面试官(虽然有时候面试官在敲代码),最后,网易的小姐姐很漂亮。