首页 > 我的2021秋招记录
头像
JasonAngel
编辑于 2021-03-16 11:28
+ 关注

我的2021秋招记录

普通一本(本硕),嵌入式软件开发岗,收到小米、联发科、浙江大华、汇川技术、英威腾、上能电气、富士康、格力offer。最高28w,最低减半。

以下开始讲述一些我找工作的经验,希望对大家有帮助(觉得有帮助的,记得文末点个赞关注走一波,谢谢大家)。

公众号《嵌入式Linux系统开发》更新。

一、简历篇


(1)个人联系方式

简历的话要把电话,email这些重要的信息放到显眼的位置,方便联系。

(2)技能掌握

熟悉、精通等词汇慎用(精通应届生就不要用了)

了解的话适用于只是看过一点书,只是一种浅尝辄止的感觉,比如你只是通过刷了刷面经,了解了一些数据库的面试常见的问题,那么这种就应该用了解。

(3)荣誉奖励

奖学金,优秀干部,竞赛获奖,paper啥的都往上怼,多多益善。

(4)项目

项目篇很重要,基本面试的第一个环节都是扣你的项目。

项目一定要准备1到2个亮点(难点),就是你曾经做项目遇到什么问题,如何解决的,解决思路和方法面试官很喜欢听。

做过项目或者有实习经历的,面试很容易成功,因为你是确确实实做过东西,而不是瞎编的。

问项目过程中,一般会先问你这个项目是干什么的,什么产品或者什么功能。整体代码框架分为几层,你主要做什么。是单独开发还是和同事一起开发,遇到过什么问题,如何解决的。

二、简历投递篇


(1)官方网申

学历不好的,不建议这走这条路,容易被刷,985/211也有一定几率被刷。

(2)内推

关注 “牛客网- 互联网求职神器和备考学习平台” 的内推信息,都是真实可靠的,虽然不一定免笔试,但是可以保证你简历不被刷。

微信公众好“ 互联派 ”也有很多内推的信息,值得关注。

(3)内推完之后的添加个人信息

强推“ 牛客网简历助手 助手介绍_牛客简历助手-简历一次填写,N网闪填__”牛客网

爽的一批,谁用谁知道,你填写完牛客网的简历助手,进来其它求职网站的时候,可以把插件调出来,如果调不出来,多点几下,自己摸索哈。这样可以省时省力,不用每个公司都把自己的简历写一遍。

(3)我基本上投了100份简历,有这个岗位的大公司我都投了个遍。混到了40个笔试机会,所以基本上所有嵌入式方面的题目我全部都见过了。你也可以海投,一般笔试时间不会冲突,我九月份每天都有笔试,十月份也有十几场笔试。

三、笔试面试篇


提前批:一般公司的提前批是免笔试的,这个机会一定要抓住,提前批不耽误正常网申流程,相当于多了一次机会。(其实你每次应聘都是会有记录的,现在的面试官可以看到你所有的过往的面试记录,但我觉得影响不大,你这次能过和上次没过还是取决于你自己的实力,能不能打动面试官)(提前批每年六七月就开始了,一定要注意,很早的)

笔试:就算你内推成功了,也会有极大可能笔试。其实笔试题吧,你把《程序员面试宝典》《剑指offer》刷一刷,杭电OJ刷一刷,然后把字符串变换、队列和栈、双线链表的插入等基本数据结构会写,问题不大,然后感觉这些公司的笔试题也就那么回事。

面试:面试这个就看平时积累了。电话面试视频面试其实还是有一定操作空间的,现场面全凭自己实力。所以你自己简历上面的项目和技能,不可以瞎编,一定是自己做过,了解技术框架和技术细节。

HR面试:一顿跪舔就行,就是你们公司真好,你自己罗列个123哪里好;女朋友,有也说没有(也可以说有,女朋友就在xx公司的地方上班/上学,很近);父母不干涉决定;薪资,互联网的普遍薪资就行(适用于第一份offer,以及非常想去的公司)。总之就是求生欲强一些。

四、笔试面试题目


嵌入式其实是一个知识比较杂乱的岗位,软件你要懂,硬件你也要懂;底层要懂,做应用开发的话上层也要懂。

第一章进程线程的基本概念

1、什么是进程,线程,有什么区别
2、多进程、多线程的优缺点
3、什么时候用进程,什么时候用线程
4、多进程、多线程同步(通讯)的方法
5、进程线程的状态转换图 。什么时候阻塞,什么时候就绪
6、父进程、子进程的关系以及区别
7、什么是进程上下文、中断上下文
8、一个进程可以创建多少线程,和什么有关
9、进程间通讯:
(1)管道/无名管道(2)信号(3)共享内存(4)消息队列(5)信号量(6)socket
注意:临界区则是一种概念,指的是访问公共资源的程序片段,并不是一种通信方式。
10、线程通讯(锁):
(1)信号量(2)读写锁(3)条件变量(4)互斥锁(5)自旋锁

第二章C/C++面试题

1、new和malloc的区别
2、 malloc的底层实现
3、在1G内存的计算机中能否malloc(1.2G)?为什么?
4、指针与引用的相同和区别;如何相互转换?
5、C语言检索内存情况,内存分配的方式
6 、extern”C” 的作用
7、头文件声明时加extern定义时不要加,因为extern可以多次声明,但只有一个定义
8、重写memcpy()函数需要注意哪些问题,(strcat    strncat    strcmp   strcpy)哪些函数会导致内存溢出
9、 char和int之间的转换;
10 、static的用法(定义和用途)static静态变量,只初始化一次
11 、const的用法(定义和用途)
12、const常量和#define的区别(编译阶段、安全性、内存占用等)
13 、volatile作用和用法
14、有常量指针 指针常量 常量引用 没有 引用常量
15、变量的作用域(全局变量和局部变量)
16、sizeof 与strlen (字符串,数组)
17、经典的sizeof(struct)和内存对齐(一字节对齐)
18、const  *  char  与 const    char    *
19、inline函数
20、内存四区,什么变量分别存储在什么区域,堆上还是栈上。

第三章网络编程

1 、TCP、UDP的区别
2 、TCP、UDP的优缺点
3 、TCP UDP适用场景
4、 TCP为什么是可靠连接
5、OSI典型网络模型,简单说说有哪些;
6、三次握手、四次挥手

第四章常见算法

1、各种排序算法的时间空间复杂度、稳定性
2、各种排序算法什么时候有最好情况、最坏情况(尤其是快排)
3、冒泡排序
4、选择排序
5、插入排序
6、希尔排序
7、归并排序
8、快速排序
9、二分法查找的原理

第五章Linux操作系统常见面试题

1、 Linux内核的组成部分
2、用户空间与内核通信方式有哪些?
3、系统调用read()/write(),内核具体做了哪些事情
4、系统调用与普通函数调用的区别
5、内核态,用户态的区别
6、 bootloader内核 、根文件的关系
7 、Bootloader启动过程:
8、 linux下检查内存状态的命令

1、大小端的区别以及各自的优点,哪种时候用。(判断大小端的三种方式)
2 、一个程序从开始运行到结束的完整过程(四个过程)
3、什么是堆,栈,内存泄漏和内存溢出?
4、堆和栈的区别
5、死锁的原因、条件
6、硬链接与软链接的区别;
7、虚拟内存,虚拟地址与物理地址的转换
8、计算机中,32bit与64bit有什么区别
9、中断和异常的区别
10、中断怎么发生,中断处理流程
11、 Linux 操作系统挂起、休眠、关机相关命令
12、编译优化选项    -o
13、在有数据cache情况下,DMA数据链路为:外设-DMA-DDR-cache-CPU,CPU需要对cache做什么操作,才可以得到数据
14、linux中改变文件属性的命令:chmod
15、linux中查找文件中匹配字符串的命令:grep

第六章 单片机常见面试题

1、ROM与RAM
2、 IO口工作方式:上拉输入 下拉输入 推挽输出 开漏输出
3、请说明总线接口USRT、I2C、USB的异同点(串/并、速度、全/半双工、总线拓扑等)
4、I2C协议时序图
5、单片机的SP指针始终指向:栈顶
6、I2C总线在传送数据过程***有三种类型信号, 它们分别是:开始信号、结束信号和应答信号。
7、FIQ中断向量入口地址
8、全双工总线类型
9、SPI四种模式,简述其中一种模式,画出时序图

第七章 其他面试题

1、讲一讲冯诺依曼和哈佛体系的区别
2、讲一讲二叉树和红黑树
3、http默认端口号:80
4、面向对象编程的三大特性,以及重载的意思。重载,是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。
5、linux中mysql数据库默认的端口是:3306
6、反转链表的代码补全
7、判断回文(首尾相同)

输入abcba      返回true
输入abc          返回flase

8、C语言编程中,单片机平台,一般有.c和.h文件,如果一个人在.h文件中定义了一个变量,会有什么后果。(讨论编程习惯的问题,我一般是只在.h文件中声明函数,不会做变量定义;另外,编程中每一个模块都会有对应的.c和.h文件,最终的总程序自己定义一个comm.c和comm.h去调用各个模块,这样的习惯我觉得还行)
9、if语句中如果是或运算( | ),第一个条件满足时,第二个条件还会判断吗。或运算的话,当然不会,因为 0|1=1,中断了
10、IIC、SPI、UART通信协议的作用和区别,以及为什么用这个不用另外一个进行通信
11、1、(4分)用变量a给出下面的定义

a) 一个整型数;
b)一个指向整型数的指针;
c)一个指向指针的指针,它指向的指针是指向一个整型数;
d)一个有10个整型的数组;
e)一个有10个指针的数组,该指针是指向一个整型数;
f)一个指向有10个整型数数组的指针;
g)一个指向函数的指针,该函数有一个整型参数并返回一个整型数;
h)一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数
答案:
a)int a
b)int *a;
c)int **a;
d)int a[10];
e)int *a [10];
f) int a[10], *p=a;
g)int (*a)(int)
h) int( *a[10])(int)




接下来放几张图片,看到图片你就知道考的是什么:








具体的题目细节,公众号后期会整理。


嵌入式软件开发可投递公司整理如下:


手机厂(华为、小米、oppo、vivo等),安防厂(海康威视、浙江大华),芯片原厂(联发科、紫光展锐、华为海思、全志科技,北京君正等),家居家电(美的、海尔、格力),医疗(迈瑞、理邦仪器),电脑厂商,还有一些互联网巨头是有嵌入式岗。奇安信、大疆、汇顶、深信服、京东 、CVTE、百度、美团、思科、乐鑫科技、远景、奇虎360、网易、科大讯飞、 商汤科技、小马智行、富士康、深圳安信可、汇川技术、锐捷、 星际荣耀、英威腾、浙江中控、深圳康冠科技、艾为电子、深圳麦格米特、长沙景嘉微、萨基姆通讯中国深圳有限公司、杰发科技、上能电气、盛弘电气、中联重科、易事特、阿里、图森、滴滴、海浦蒙特、宇视科技、软通动力、广联达、TCL、蔚来、京东方、海信,还有一些国企和研究所。


在公众号《嵌入式Linux系统开发》内回复「电子书」,即可免费获取嵌入式相关500本电子书和秋招大礼包,期待你的关注~~~

全部评论

(3) 回帖
加载中...
话题 回帖

推荐话题

近期热帖

近期精华帖

热门推荐