面试别人之一
前言
今天上午有一个面试(2021年09月02日),对方是一个有五年工作经验的嵌入式开发人员。
面试结束,下面进行总结:
首先,他的简历写得还是很漂亮的。结构层次清晰。
简历部分
内容结构为
- 基本信息
- 专业技能
- 工作经历
- 项目经历
- 教育经历
这里面有一点不足,工作经历与项目经历分开描述,需要询问才能知道他的项目在哪个公司里做的。
我的目标:对他进行技术摸底,看他的业务技能是否与当前的工作岗位需求相配
面试的节奏
1.自我介绍。
- 看其语言谈吐
- 他的回复是这段时间以来的工作经历。
- 我觉得他后面应该加上他应该他的职业期望与计划。
2.问哪些项目是你现在的公司工作岗位做的。
3.按着他写的专业技能条目,问问题
LINUX多线程开发
- pthread_join与pthread_detach在项目中的应用情况
- pthread有哪几种调度方式,默认调度方式是什么,以及线程优先级设置
- pthread的stack默认大小为多少,在项目中实际使用得情况是多少
- thread之间如何传递消息
网络编程部分
- TCP/IP协议 SOCKET
- 三次握手发生时,对应的SERVER与CLIENT SOCKET API是什么
- 四次挥手与 在SERVER端与CLIENT端是如何体现的。
上面的问题他都答不上来,并说自己偏于底层方面的开发。
4. 自己解决的令自己印象深刻或得意的问题
1.复位与配置外设REG时序偏差问题
由于LINUX控制RESET,而内核的时序不确定,导致RESET引脚与配置REG,时序错乱。
排查问题的方法:他拉了一个外部硬件复位电路,明确了是RESET引脚时序问题。
2.录音文件保存。
I2S采集到的数据很大,而写SD卡速度较慢
他采用了一个大的缓冲区,将生产者与消费者分离,进而实现了正常的录音保存。
3.传感器的数据采集,滤波过程。
采用了中值滤波的方法。
先10个数一排序,然后去最大的2个与最小的2个,然后求了一个平均值。
并没有对每个数据进行偏差控制。
他说他对UBOOT,内核驱动做过,有相关的项目,但是我不会,所以没有问~~
总结
对于常用LINUX pthread技能处在现学现用api的初级阶段,网络编程也是如此。
由于他经常做驱动,对于软硬件联调这一块儿很熟悉。