富士康 2021 秋招面试总结
岗位:嵌入式软件工程师
面试时间: 30 分钟
岗位职责:
参与小基站嵌入式系统的研发工作;
负责SmallcellGW的UE接入及S1信令处理模块的设计与开发工作;
协助硬件工程师排查并解决问题以提升系统硬件性能;
对Linux系统的性能进行分析并提出优化方案以实施改进;
协助高层软件工程师完成整机功能与性能测试工作;
参与产线上的小基站软件升级及相关的测试工作。
职位要求:
- 必须具备基本的 C 语言编程能力
- 大学英语四级
- 表达沟通能力强
薪资
试用期的基本薪资为7,245元起。转正后根据实际情况增加(至多1,000元)。折合成月工资为8,249.23元(含基础工资与绩效奖金)。工作满额外时数将获得相应的加班费。综合考虑加班费后预计总收入在约9至1.3万元之间。
面试
所应聘部门是基于高通平台,做通信模块的。
1、自我介绍
2、如何理解交叉编译?
3、OSI 七层网络和 TCPIP 网络模型区别?以及每一层名称。
4、你觉得网络分层协议和生活中什么比较像?(快递业务)
5、如何定义上下文切换(从断开的上下文角度进行阐述。随后询问为何响应中断需保障现场,并探讨中断处理的具体流程)
5、如何定义上下文切换(从断开的上下文角度进行阐述。随后询问为何响应中断需保障现场,并探讨中断处理的具体流程)
6、你如何理解异步(我从文件 IO 中的异步非阻塞回答)
7、你是XXXX专业,是不是和嵌入式不太匹配,都是自学的吗?
8、数据结构学的怎么样?
9、计算机操作系统学的怎么样?
10、你熟悉哪些数据结构?
11、如何理解数据结构和算法的关系?
12、你是XXXX专业,是如何学习嵌入式的?(我都是做项目,项目中学习)
13、C 语言和其他编程语言有什么关系,处于一个什么地位?(更底层)
14、你如何理解编程语言和日常说话语言的关系?
15、你对指针的认识是什么?(它是一种特殊的变量类型,并非普通的数值存储而是指向内存地址的机制)
16、什么是系统调用?
17、用户程序运行在 usr space 还是 kernel space?
18、普通调用和系统调用的区别?
19、系统调用用什么函数(ioctl 等)?
20、数据结构学的怎么样,学过红黑树吗?讲一讲。
对此问题的回答:红黑树(Red-Black Tree)RBT是一种非严格自平衡(并非绝对意义上的完全平衡)二叉查找树(BST)。在该数据结构中,每个节点都满足以下基本性质:
1)每个节点都有红色或黑色
2)树的根始终是黑色的 (黑土地孕育黑树根)
不允许存在两个相邻的红色节点;每个红色节点都必须具有非红色的父和子;这并不意味着禁止出现连续的黑色。
沿着从该节点到其所有后代NULL节点的所有路径上(包括根节点本身及其子树末端未连接的孩子节点),每条路径上的黑色节点数量均相等)。
补充:二叉查找树(BST)是一种数据结构的全称名称,在计算机科学领域中具有重要的地位。为了更好地掌握二叉查找树的相关知识,请深入理解其基本特性。
1)某节点的左子树节点值仅包含小于该节点值
2)某节点的右子树节点值仅包含大于该节点值
3)左右子树每个也必须是二叉查找树
21、讲一讲冯诺依曼和哈佛体系的区别
总结
在面试中,这位考官倾向于通过询问"你是如何理解某个概念或现象的"来深入了解候选人的思考过程。这种提问方式较之于仅仅询问你的知识储备更具深度。重点考察你是否真正掌握了事物的本质原因,并要求你以简单易懂的语言来阐述你的见解。
