面试于约定的时间进行,整体过程分为两个主要部分。首先是技术面试,面试官通过视频会议与我进行交流。面试一开始,面试官对我的简历进行了简要的回顾,询问了我在不同项目中的具体角色和职责。由于我在简历中提到了屏幕驱动的相关经验,因此面试官对此进行了深入探讨,询问我在该项目中遇到的挑战以及我的具体解决方案。
接下来,面试官开始提问,涉及的内容不仅包括我在简历中提到的技能,还包括一些计算机基础知识和算法问题。面试官特别关注我的思维过程和解决问题的方法。在回答问题的过程中,我尽量详细描述我的思路和经验,以展示我对技术的理解和实际应用能力。
面试的最后阶段,面试官给了我机会提问。我询问了团队的工作氛围和项目管理方法,面试官详细介绍了他们的开发流程和团队文化,整个过程让我感到轻松而愉快。
在面试过程中,面试官提出了多个问题,具体包括:
屏幕驱动的工作原理:面试官让我解释屏幕驱动的基本工作原理和常用的接口,比如如何与硬件进行交互,以及如何处理图像渲染。
项目中的技术难题:询问我在过往项目中是否遇到过技术难题,并让我详细描述其中一个难题的背景、我采取的措施以及最终的结果。
内存管理的理解:面试官让我描述内存管理的基本概念,问我在实际项目中如何优化内存使用,避免内存泄漏。
多线程的应用:询问我对多线程编程的理解,如何在多线程环境中保证数据的一致性和安全性。
团队合作中的冲突处理:面试官让我分享在团队合作中遇到的冲突,以及我是如何进行沟通和解决问题的。
技术栈的选择:问我在项目中选择特定技术栈的原因,以及如何评估新技术的优劣。
参加的是中兴优招,有面向学校的内推码,所以免了笔试。
直接专业面试,专业面当天晚上10-12点出结果,过了的第二天参加综合业务面试。比较坑,晚上差不多11点接到短信,第二天上午9点面试,中间基本没有怎么准备。网上看了一下可能会有英文自我介绍,准备了一下就睡觉了。
专业面和业务面都是两个面试官。
专业面主要还是针对自己简历来的,直接问你参与的项目有什么和软件开发相关的,说说。后面就是一些基础,数据结构、stm32的知识、C语言之类的。
业务面倒是比较轻松,全程差不多聊天,问问家乡、项目遇到什么困难如何解决、反复确认了工作地点、有什么问他们的。
整体还是比较轻松的,没有遇到手撕代码,好像当天系统有点问题,但实际上是应该有的。
1、stm32如何进入中断?
2、exter “C”的作用?
3、数据如何在单片机上计算?从哪里取出,放到哪里?
4、static的作用,面试官提示:需要从在函数里和函数外两个地方来答
5、链表和数组的区别?
6、解释一些多态。