连着面的,技术面三轮,但是昨天二面结束已经八点半了,三面就约了下周。
一面
二十分钟项目
SYN攻击
文本的敏感词匹配
手撕代码 魔方矩阵:n*n的二维数组,调整使得 每一行的和 每一列的和 以及 对角线的和都是相等的。
(代码写的差不多了,给面试官讲了一下思路,然后只测试了一下 判断合法的 那个函数)
二面
二十多分钟项目
单例模式,问的比较细,比如 instance = new Singleton(); 这一行给拆开 malloc和构造,在并发时有没有问题,没有答上来。
std::move, std::forwad
问了一些多线程的东西,内存序列,还有什么给忘了。
最后还是手撕代码:
D1 -> o1, o2, o3 2
D1 -> o1, o2 1.5
D1 -> o3 0.8
D2 -> O1 0.6
D2 -> o1, o2 1.2
D代表司机,o代表订单, 最后的数代表价值。 问选一个能够获得最大价值的方案,要求只能按照给出来的分配方式分配,比如D1只有这三种分配方式,不能单独给他O2,订单可以漏但不能分配重复。自定义数据结构。
这道题用回溯做的,面试官点出来一些错误让修改。
7.27 更新
三面
这一年中有没有做什么有意思的项目,遇到了什么困难,怎么解决的
项目中有什么亮点,做了什么改进
问了相当多的多线程的东西
各种锁,什么区别,怎么实现
手写读写锁
条件变量+unique_lock
网络IO方面的东西,IO多路复用,reactor
服务器优化的方法,从数据库的读写分离聊到主从服务器的同步手段和具体的流程
redis的基础数据结构,zset是怎么实现的
程序性能分析的方法
coredump怎么解决,怎么读core文件
gdb
linux常用的命令
最后就是聊天了,介绍了一下他们部门的业务。其他的我没多问。
总结来说,虽然面的是C++开发岗,但是问到的基本全是网络和多线程的东西。感觉上应该只有二面的面试官是做C++的。一面和三面的面试官基本没有提问C++基础知识。三个面试官都挺友善的,会给提示,回答给反馈。
全部评论
(0) 回帖