面试岗位: C/C++后台开发工程师
有没有用c++做过什么项目(畅聊)
讲一下项目
序列化和反序列化怎么实现的 ,还问了一下jsoncpp这个库
当前是一个聊天室,如何扩展为多个
传输过程是用什么协议完成的
为什么选择udp
udp和tcp的区别
对tcp的滑动窗口的了解
...(项目问的比较详细)
非项目
多线程和线程池
同步互斥机制,同步量和互斥锁的区别
乐观锁悲观锁(直接说没有学习到)
select,poll,epoll
智能指针
虚函数底层实现,有虚函数的类和没有虚函数的类大小的问题
对c++11有没有了解(...我说还没有...)
最后说可能会有技术二面,问我什么时候有时间,我就说,随时...
总结电话面试
做的项目还是太浅显了,对有些东西仅停留在会使用的层面上,并没有了解其内部实现原理,所以在面试的时候很容易被问死...
对于tcp和udp来说,思考不要仅停留在他们各自的优缺点,用途,更重要的是,要思考,如何将一个使用udp的项目转换成可以具备tcp功能的项目
不过tcp还是重点中的重点,所以学习tcp不能停止
常规的概念问题要知道,至少别人问你什么你都能说出来一点,而不是最后说我想不起来了,我不知道等
对新的技术需要跟进的学习
首先看了一下简历,问电子版和纸质版的有什么区别(其实我把纸质版的东西减少了一些...)
收先看是看项目,不过二面项目问的比较少,应该是知道一面问过了吧
讲一下项目中为啥使用生产者消费者模型
手写一下生产者消费者模型的伪代码
看到项目中使用的是udp,问为啥不用tcp,我说tcp相对来说比价复杂,他就问复杂在哪里了啥的
怎样保证可靠性,我就说可以使用序号机制,保活定时器...面试官其实是不满意的,因为我项目中没有保证可靠性
看着我的博客问问题
我看你写了http的博客,能大概讲一下http报文中有什么
如何知道当前发送请求的是手机,电脑发出的
讲一下报头中的host字段
一个IP地址可以对应多个url吗
说一下你知道的http状态码
剩下的就是看着简历上的掌握技能问问题
单例模式: 讲,手写(饿汉+懒汉)
讲一下vector实现机制
讲一下你所了解的进程间通信
智能指针讲一下,重点还是 sharedptr和循环引用的问题
然后面试官就说,有没有你觉得自己掌握的还不错,但是我没有问到的,我说 tcp...
讲一下tcp如何断开连接
讲一下拥塞控制
最最最后,面试官问我有没有什么问题要问的,我就问了两个问题
总结现场面试
首先其实还是感觉自己准备的不充足,虽然二面项目问的比较少,但还是可以明显感觉到项目比较重要
我已经有一阵没有写这个项目了,最近在写http项目,所以畅聊就不怎么上心了,但是还是觉得写在简历上的东西还是要负责任的
会的你就写,不会的你就学,实在学不会的就不要写上去了...
还有就是,代码风格还蛮重要的,我这边都写的是伪代码,基本没啥,和我一起面试的同学都说面试官提到了代码风格的问题,写在博客或者GitHub上的代码,尽量写的整齐一些,注释也要整齐
再然后就是面试的时候,记得去早一些,我也是听了学长学姐和老师的建议,选的是早上第一场,早上人真的比较少,如果我是面试官,对早上来的人肯定会更好一些,毕竟我还没有审美疲劳,项目也还没有重复,不过大佬随意...
最最最后,如果有不会的东西,也别太装了,这次面试让我觉得面试官人真的超级好,感觉很温柔,其实有一个虚心求教的态度也很重要
给自己的一面二面打一个分,为什么打这个分
说一下自己和公司职位的契合度是多少,讲一下为什么
想要工作的时间地点
有没有想要去的公司
如果拿到了好几个offer要怎么选择
有没有什么压力,来源于什么,怎么解决
有没有制定目标的习惯,没达成怎么变
有没有主动做一件不是自己职责的事
未来发展计划
薪资要求
工作中最不希望遇到的事
你觉得你可以通过这次面试吗,为什么
...(可能还有吧,但是记不得了
总结HR面试
其实感觉hr面的并不好,有很多的问题并不能一时间就组织好语言回答,自己在语言组织和临场应变能力上还是比较欠缺
反观和我一起面HR的交大研究生,hr问的问题,他都可以第一时间给出一个回答,脑子感觉转的确实很快,这一点非常值得学习
现在距离面试结束已经过去近一周,也还没收到结果,这次是我秋招的第一次正式的面试,也很完整,从线上笔试->电话一面->现场二面->现场hr面,每一次看到状态显示的是通过时,内心简直鸡冻的要飞起,无论这次成功与否,这一趟宝贵的面试经历也让我学会的很多,秋招加油!