中望软件(武汉):C++软件开发凉经
一面(腾讯会议,半小时):
- 什么是协程?协程相对于线程的优点有哪些?
- 线程间的同步有哪些,线程相对于进程的区别有哪些?
- linux的线程有几个状态?
- 锁的分类;
- 了解过多态么?静态多态和动态多态在使用上的区别?
- STL有哪些常用的容器?
- map的底层为什么是红黑树,红黑树和AVL树的区别?
- 七层模型、五层模型;
- 实验室C++相关项目?
- 排序算法有哪些,堆排序的实现?
- C++、Python和Go的区别?
- 看过什么C++的书?
- 传统图像处理算法研究过么?
总结:感觉是凉了,基本问题都回答了,但都是浅尝辄止,所以半小时就结束了,而且看面试官的表情感觉有一点,嫌弃?或者是冷漠吧。而且很多问题都是我大概回答了一下,然后就没有继续问下去而是转而问另外的问题了。
二面(腾讯会议,半小时):
- 自己最大的优点和缺点是什么?
- 为什么选中望?
- 怎么看待工业软件的发展,和互联网相比呢?
- 自己经历过的压力最大的事情是什么?
- 了解过强弱符号么(这是啥?我根本不知道这是啥!)
百度了一下,大概就是比如两个全局变量都命名为a,若一个进行了初始化,那么这个是强符号;另一个没有初始化,则这个是弱符号。或者两个重名的函数,编译时候可能会报重定义错误,那么可以通过weak属性声明,此时编译是没问题的,但是链接阶段会报错。
- 了解过链接顺序么?(有过这样的问题,但是解决了就没关注了,回答:不了解)
- 了解过函数调用约定么?(不了解不了解……)
百度看了一下大概就是
__cdecl、__stdcall、__fastcall、__pascal、__thiscal
- 用windows排查过异常么?(排查过一次内存泄漏,但是忘了用了啥工具了)
windbg、crt、任务管理器、dump文件、debug_new……
- 框架设计要考虑过哪些因素?(这里回答的乱七八糟的,主要结合多人开发去聊了聊单一职责、开放封闭啥的)
- 链路追踪用的啥?(记不得名字了,然后扯到了日志……)
- linux开发时候怎么去定位错误调试的?(看日志、看进程线程号、打断点、gdb、主要聊了一次死锁的排查)
- 如果有时候偶然的数据出现问题,怎么排查?或者说常规的方法还能不能用?(模块化的测试、查看日志了解数据是个什么特殊情况、自动化测试……PS.啥是自动化测试啊……)
- 做测试用了哪些工具?(日志、Ping、curl、postman……反正就是看日志呗)
- 最近主要是怎么提升自己的?
- 学习有计划么?
- 反问
- 期望薪资。
总结:没想到一面竟然过了,然后今天是Linux部门和云部门的面试。只要问道专业知识直接对不起、不了解、你说的啥?面试官还比较好说话,最后甚至陪他笑了笑……但感觉是凉了……中间几个东西都是一问三不知,别的扯得也是乱七八糟的……
二面(腾讯会议,四十分钟):
- 详细说一下RPC的流程;
- 介绍一下自己对协程的理解;
- 说一下日志库的实现,有参考过哪些开源项目?
- 对自己的日志库有没有过测试?
- 现在要对日志文件进行每秒十几万行的写入,如何提升你的日志库性能:
- 线程底层有了解过么?(指令寄存器相关,一下子忘了是指令寄存器了,直接不了解);
- 为什么要支教?
- 做过windows相关开发么?能否接受?
总结:昨天hr联系说上次二面有些不匹配,所以今天又安排了一次面试,算是被捞了一下?这次面试官很明确关注的就是部门的业务内容,属于自己了解的东西撞枪口上了……感觉无论回答的好不好在面试官眼里都是小儿科了……不过面试官很nice,对自己的部门业务介绍得很清楚,也帮我复盘了一下之前的面试,后面一二十分钟主要都是他在讲,我在记,感觉不管能不能过都是血赚!
后续:
今天问了一下hr,说一般一星期内会有消息,不通过的话也么的感谢信……看了看时间,好像是上周三面的……也算是一个多星期了么的消息了……