腾讯 TEG 部门 c++ 暑期提前批凉经
2.11 投递
2.12 约面
2.13 一面
自我介绍,简历介绍,一些基础的 cpp 相关八股,比如:std::map 底层结构(不需要说原理,回红黑树就够了)和插入删除复杂度。
两个很简单的手撕:
1)二叉搜索树中至多输出 k 个大于 target 值的节点值,也就是先找最小的大于 target 的节点,然后依次输出至多 k 个节点值。2)二分。
手撕很简单,但是第一个提醒了好几次,运气好给过。
2.17 二面
纯拷打,三个手撕。
1)一个链表,输出每个节点后第一个大于该节点的节点值。leetcode 503,不过要求是只能正序遍历一遍链表,O(N)。单调栈做。
2)同上题,不过要求输出节点后大于该节点的最大值。要求同上。刚开始只会逆序单调栈,但是面试官提醒用递归的调用栈模拟。
3)手写布隆过滤器。因为没写过,且状态很差了,被提醒多次结果不对。
面试官评价:基础不行,代码风格不行,建议多看优美的代码。
个人感觉:因为每个题都要求自己写完善的测试,且刚开始用 std::vector 模拟链表,但是被告知要自己构造真正的单链表,花费时间过长,三个题大概 100mins。
自己太菜了三个简单手撕写了 100 分钟,面试官后面都不想面了。
---
2.26 更新
2.25 三面
主要是问了项目,这块感觉还行。
出了一个手撕,螺旋矩阵输出,if else 写出来了,但是面试官要求优化 if else,优化了 10mins 边界条件判错没弄完,面试官让终止。
后面问了解 redis 吗?我说不,然后就没了。(这块确实不了解,后面看看)
又问一个分布式数据库的开发需要注意什么?我只说了分布式协议和网络磁盘压力,事务涉及的表要在临近节点。(事实上面试官很不满意,后面想了想,应该加上分布式锁 zookeeper、机器应该分布在不同地方、多机器的日志查看策略等。)
总体感觉一般,面完到现在一整天了,还是显示“已接受面试通知”,目前还不知道结果,感觉在排序,机会不大。
2.27 更新
流程结束,已挂。
#C++##TEG##腾讯##暑期提前批#