2024-05-20 15:43:141016浏览
Linux学员华为C++开发面试经历、面试题分享
背景:
南邮硕研二学C++后台开发,投递实习没有回应。搜索发现还是嵌入式Linux岗位多,转学项目套餐。
面试岗位:C++后端开发
前情提要:“我投递的简历里写的是一个协程的框架,还有一个http web server的一个项目。上来先是让我做一个自我介绍,后面正式开始问问题”
问题 1:为什么要做web server这个项目?目前已经有很多成熟的这种框架,为什么会想着自己去做一个?
问题2:你这个web server项目里,日志的系统是怎么实现的?
问题3:了解哪些设计模式,能不能讲几种?
问题4:C++很容易内存泄漏,你知道可以通过什么方法对内存泄漏进行管理或是预防吗?请详细讲一下
问题5:能不能详细讲一下服务器的一个性能指标有没有测过
问题6:进程、协程和线程之间有什么区别?
问题7:IO多路复用的方式。select、poll、epoll之间有什么区别?
问题8:epoll水平触发和边缘触发的区别
问题9:https和http之间的一些关系
问题10:C++的三大特性-封装、继承、多态,详细展开讲一下
回忆:“当时面试的时候,面试官那边有一堆纸条,他在纸条中抽出了一张图,也就是一个题目,上面描述的大概就是一个生产者消费者的一个模型”
问题11:通过C++如何实现这样一个消费这模型,口头描述一下
手撕题回忆:“是一个排序题,就是会输入两个数组,第一个数组是学生的身高,第二个数组是这个学生的体重,然后请你对这个学生进行排序。按照身高从低到高排序,然后身高相等的话,就是按体重排序,体重相等就按那个传入的索引号排序”
问题12:“最后还问了华为笔试机考时的题目,估计想看一下是不是你自己写的,就是问一下你的思路”
主管面试:“主管面的时间相对没那么长,问的都是一些比较主观的问题。先是让你自我介绍,然后问了你项目中遇到一些问题,你会怎么去解决。还有就是对我们华为公司价值观是否认同,有什么想法之类的?最后就是对我们华为公司与没有一些了解之类的”
总结:重点还是项目,项目问的比较多,设计模式和机考的题目一般也会被问