虽然在北京的面试已经过去了,但是感觉还是有必要总结一下自己的经历。下面说一下自己的简单概括。
一、基本面试流程
0、准备阶段
Hr会提前联系,约定时间(很多hr可能不懂技术,还是得自己来确定是否继续)
1、自我介绍
简述自己的经历,可以体现自己的基本表达能力,比较忙的面试官也趁这段时间再看一遍简历
2、描述项目经历
主要是初步判断一下是不是有水分——是不是真的做过简历上的项目,当然问的多了也能得到答案
3、遇到问题的解决方案
这部分也算是第二步的延伸,也可以体现解决问题的能力与思路,初步判断是否有独立工作的能力(可以简单区别未毕业实习生和初级工程师)
4、技术问答 或者 指定题目笔试或者简述思路
这就没什么了,技术的事骗不了内行人。个人水平对应了岗位要求就没问题,范围上面说过,但这不是文科考试,硬背太牵强,主要是掌握相对技术点。
5、第一步结局
这里可以算是一个阶段结束,有等结果的时间。如果是急聘或者决策链短的公司,可能当天会给结果。也可能用沉默代替拒绝,也算是一种方式了。
二、常用技术点
C语言部分
这部分比较偏硬件吧,一般招嵌入式岗位会问的比较多,涉及C语言基础和linux相关。还有是下面这些点:字符串的识别、基础算法的实现、指针与引用(频率很高)、总结存储区分类
C++基础部分
虚函数:纯虚函数部分(原理、声明)、内存相关。(这方面频率比较高)
三大特性的理解
重写、重载、隐藏
构造与析构
C++11新特性
主要是C++11这个版本比较受重视,也听说了一些公司也会用到17甚至更新的。这方面也看公司对于技术的要求吧
右值、move特性、深拷贝浅拷贝等等
STL容器相关
常用类型、map和unorder_map区别(红黑树与哈希表)、Vector扩容原理(属于深入问题)
容器的使用确实帮助开发者更加方便的使用数据结构,但是也确实是黑盒,对于盒子内部的问题有研究的人也确实会比只会有API的人更有优势吧。所以,大家都懂得。
图形图像相关
双缓冲机制、OpenGL渲染流程、OSG相机问题、三维化相关
对于这部分的岗位,一般是用于做界面呈现。C++不是java,做界面的方式很多,GIS系统大部分是基于OpenGL实现,也方便调用算法。
其他部分
代码管理、设计模式、网络编程(涉及多线程处理,协议相关)