腾讯后台开发面经(已oc)
本人26届,找的日常实习,ieg部门,第一次面试,算是一个半吊子的cpp选手,项目就只写了老三样824、445、xv6。不得不说,腾讯的效率是真的高,面完之后秒约面,算是比较快的速通啦!
时间线
- 4.28 一面
- 4.29 二面
- 5.7 hr面
- 5.8 云证
- 5.10 oc
一面(55min):
- 面试官自我介绍,部门介绍
- 自我介绍
- 手撕两道题 链表反转 链表删除重复元素
语言相关:
- 平时go用的多吗?(答:懂基本的使用,问了一些go的八股因为最近没看,所以说了cpp比较熟)
- 讲讲虚函数
- new操作的原理
- 内存对齐的作用
八股相关:
- linux的内存布局
- k8s、容器了解过吗(这个不懂,直接说不会了)
- 了解过哪些分布式项目(说了下etcd)
- 分布式锁的原理(讲了讲Redis的SetNX)
- 你的缓存和数据库怎么保持数据一致性的,有别的做法吗?(吟唱了一下Cache Aside)
- linux怎么运行cpp代码
项目相关:
- 介绍一下raft算法。
- 你在项目中是怎么debug的。(答了一下写日志和写测试函数)
- 项目里用到了哪些锁?
- 做过一些性能调优吗?(下面就开始汗流浃背了。。。。面试前没有思考过这些问题)
- 项目有测试过并发量吗?
- 做过一些高并发的项目吗?(无)
因为第一次面,项目很多地方都说的不是很清楚,看起来不像独立完成的。手撕时面试官想让我用go写下,但是我有点紧张忘记怎么写了,最后要求换语言面试官也是同意了,面完感觉挂了,没想到秒约二面。
二面(55min)
- 和面试官聊天唠嗑,部门新项目
- 自我介绍
- 简历写玩过一点cf,整理了通用的算法库,问我有什么用,聊了聊对数据结构封装的重要性。
- 手撕:大数乘法
语言相关:
- 面向对象三大特性
- static关键字有什么用(答了一下静态变量只初始化一次,单例模式,静态函数直接调用)
- 用过哪些stl呢
- lambda函数用过吗(讲了下变量捕获等等)
八股相关:
- linux基本命令了解过吗
项目相关:
- 介绍一下raft算法。
- etcd了解过吗
- 多线程怎么防止并发问题
- 有一个服务想要保存日志,怎么不影响主体服务的效率呢?(讲了另起线程异步写,或者先写入缓存区,足够数量了再一并刷入磁盘,减少IO次数)
二面总体来说比较轻松,两次技术面的面试官人都很好,这就是鹅厂吗,爱了爱了。
hr面(20min)
- 最有成就感的事
- 用几个关键词描述一下你的优点
- 你觉得目前你还缺乏什么能力