到今天,自己的工作算是告一段落了,恰逢国庆,就宅在实验室把这一个月以来的面试经验分享一下。
CVTE(广州视源)——C/C++研发工程师
- 笔试
线上的形式参加,题目很基础,主要涉及到C++,TCP/IP,网络基础,一点点图论基础和数据库方面的知识。 - 一面
两个人一起面的形式,不过是分开问不同的问题,不是两人PK的形式,可能是人太多了吧
先抽签写程序,抽到了二分查找,注意,越是简单的程序编写越可能有陷阱,不要着急写,先问清楚再说
- 问:查找不到或者输入异常怎么办?
- 答:那就返回-1吧
- 问:那么我们就约定数组中的元素都是非负整数,并且已经是非递减排序的了?
- 面试官点头同意
那么就不用客气了,直接写吧,为了节约时间,写了个递归的二分。一看那边还没面完,就又写了个循环的二分。感觉这是我做的最正确的决定之一,也是一面的加分亮点。
之后开始问问题了 - C++语言有什么特点?
- 说说C++的多态是怎么实现的?
- STL中的vector有什么特点?
- vector是怎么实现空间自动增长的?
- vector调用clear之后空间会不会释放?
- 想释放vector的空间怎么办?(STL的问题可以参考《Effective STL》)
- 一个32位的int型数据在内存中的存储方式都是一样的吗?
- 怎么区分大端和小端?写一下程序
- 怎么用两个栈实现一个队列?
总共面了约半小时,毕竟两个人分开问的。然后当天晚上收到复面通知。
- 复面
这一面明显不怎么问基础的东西了,主要考察项目和随机应变能力。
- 介绍一下你做的项目
- 此处省略N多字,不过,他们貌似对嵌入式的项目很感兴趣
- 说说C++多态性的实现机制,一面问过的