在求职中,我主要投报了软件研发和嵌入式软件研发两个职位,与各位分享一下我的面试准备。
面试需要准备一下几个方面:
首先,是自我介绍
准备一段1分钟之内的自我介绍,包含基本的个人消息,项目信息,获奖信息等。不要太长,简历上有的尽量简练。
第二,做过的项目
将自己做过的项目整理,准备两个方面:
(1) 项目的内容
(2) 涉及的关键技术
面试时,表达力求清晰。
第三,技术基础
(1) Linux系统的基础知识,包括gcc(优化指令,如-O1;-i,-E,-s,-c,-o)、gdb、ln、网络等基本指令,Makefile,公司很喜欢会shell脚本的(*)
(2) 进程与线程的区别,线程栈(*)
(3) 进程间通信的方式(*)
(4) 进程同步的方法,线程死锁(*)
(5) MFC的消息响应机制,常用的MFC类(*)
(6) Qt的信号与槽
(7) 设计模式(简单工厂、工厂方法、抽象工厂、建造模式、适配器模式、装饰模式、外观模式、策略模式、桥接模式、模板模式),面向对象的5原则(单一职责、里氏替换原则、依赖倒置原则、接口隔离原则、开闭原则,理解这些原则指的是什么),3个基本特性(封装、多态、继承)
(8) 内存区域的划分,包括堆和栈、静态存储区、动态存储区等(*)
(9) C++的多态特性,覆盖的实现(虚函数表)
(10) 指针(指针的常见错误,内存泄漏、函数指针等)
(11) static、const、volatile的用法(*)
(12) 数据结构(链表的操作,如链表逆序;二叉树的操作;排序算法(冒泡排序,快速排序);二分查找;回文;常用字符串函数的实现,如strcpy)(*)
(13) 驱动(file_operation结构,接口函数)和内核的知识(中断处理,内核、uboot的启动过程)
(14) TCP/IP协议(三次握手、套接字编程)、窗口滑动、路由器和交换机的区别、ISO模型(*)
(15) 常用的STL模板,如list、vector、map、multimap、set、multiset等(区别)
(16) C语言字符串操作、文件操作、字节对齐
(17) 数据库的基本操作
(18) Java的三大框架,sleep和wait的区别
(19) 如果应聘视频监控这一块,最好有相关的项目,或者看看视频的源码(视频流的采集、编码、传输,没看过,也最好能忽悠,呵呵)
(20)面试网络通信的公司,建议借一本网络通信的书看一看,主要看通信协议
打*号的项,问到的概率很高
推荐的书
C语言的书推荐看《C和指针》、《编程之美》(2.1 求二进制数中1的个数,3.9 重建二叉树,3.10 分层遍历二叉树)、《大话数据结构》、《嵌入式Linux应用程序开发标准教程》。还有一本书《系统程序员成长计划》- 建议看一看,如果是为了面试,就算了,这本书和《C和指针》、《重构-改善代码的既有设计》、《PHP设计模式》对我启发很大。《C++ Primer》不适合面试看,内容太多了。
第四,非技术知识
(1) 终面时,面试官一般都会说,你有什么问题要问吗?
(2) 对公司的产品进行了解
(3) 你的薪酬期望是多少?
(4) 你在学校的表现怎样?
(5) 你家里人怎么看待你留在xx地方工作?
(6) 你希望从事哪个方面的开发?
(7) 你的职业规划是什么?
(8) 你为什么选择留在xx地方工作?
(9) 自己的优缺点?有些缺点(如不善于交流,其实大家都差不多,不要对自己失去信心),自己知道就好了,不要说给面试官,但也不要说自己的缺点是优点太多,这个原因很明显。面试官喜欢有合作精神,交流能力比较好的。尽量突出自己的优点。
(10) 遇到的最大挫折?
(11) 请给出一个能留下来的理由?
第五,就是简历
这个很重要,可以结合图文的形式,建议做精美一点。如果做的东西很多,可以多写一点,但要注意排版。面试官一般会比较关心项目。我简历做了3个版本(1页版,2页版(1页文字+1页图片),4页版)。实践证实,4页版(1.5页文字+2.5页图)效果最佳,1页版的基本都石沉大海了。
第六,是自己投递的信息
不要面试时,投递的公司和岗位都忘记了。我分了两个类:已投递(整理投递信息),已面试(整理面试经验)。建议保留公司的职位要求信息,便于准备。还有一定要对自己面试的公司有所了解(产品,企业文化了解是最好不过了)。
第七,其他材料
包括英语证书,获奖证书等。HR面有时很重要。
最后,附上周思敏老师的6句面试要言,祝各位好运!
1)衣着整洁要得体
2)求职资料要备齐
3)请勿陪同或携伴
4)称呼仪态要得当
5)沟通表达要求实
6)面试官也要讲礼仪
- 本文固定链接: https://zxbcw.cn/post/1645/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)