腾讯ieg后台开发实习123面+hr面
9.28 oc了
一面 9.14 5:30-6:30
-
算法:top k
-
你对linux的命令了解吗?那我给你出两道场景题看看:
- 给定一个挂载到linux的文件a,如何查看所在的文件目录;如果我运行了这个文件,怎么查看到它的运行情况(cpu,占用内存等
- 给定一个端口号,比方说80吧,怎么查看占用这个端口的外部ip,输出前五个(没看过命令不要紧,讲一下思路吧,我复盘的时候还是没懂这个问题想问啥…
-
讲一下b站实习的分布式ID发号器怎么做的?(依靠etcd做的cp方案)分布式ID生成算法有哪一些?讲一下你调研了哪一些公司,他们的解决方案是什么呢?(美团的雪花,滴滴的数据库预加载,微信的数据库预加载,有赞,微信有做仲裁)抽奖业务是tob的还是toc的?(toc的)
-
讲一下滴滴实习做的项目?流量重放,录制是怎么做的?具体过程?你是怎么处理高峰期和低谷的流量录制的?
-
在teg做了tdsql内核相关的东西吗?(并不是)
-
我看你对数据库很感兴趣啊,问一下应用层的问题吧
-
mysql存储引擎有哪一些,讲讲区别?有什么情况会用myisam呢(myisam没事务,现在很多都是HTAP跟OLTP数据库,感觉一般情况下也没人用吧)
-
慢sql怎么查询?(explain,走不走索引之类的)讲一下底层优化吧(火山模型,解析,算子,过滤下推…
-
分布式我看你做了挺多项目的,就不问了吧(额)
-
你对哪些语言比较熟?go的话,你有写过cgo吗?(搞python调go的时候有看过一下)对cpp跟python熟不(不太熟,会调api的程度)
-
问一下go的协程吧?讲一下gmp?(m0,g0,工作窃取啥的)
-
那操作系统的进程,线程,协程有哪些区别的?(linux下进程跟线程都是task_struct,返回的pid不一样,切换开销,TLB,用户态内核态,cpu指令集,协程就是用户级线程,栈2kb,线程8096kb,切换只需要PC,SP,DX寄存器
-
那我今天的问题就到这里了,你有什么想问我的吗
- 如果能去实习需要做些什么准备吗?基本不用,就像我问你的linux命令平时不用的话基本也不会,立即学就好了
- 就今天的面试,对我之后有些什么建议吗?我觉得挺好的,保持学习的热情吧,像之前你实习调研其他公司的方案我觉得就挺好的,放心,你有二面的
二面 9.15 5:00-6:45
- 面试官跟我闲聊了5分钟(离职原因,base在深圳你觉得怎么样,明年能不能转正得看hc的情况,这个现在说不准)
- 先问一下你的实习,流量重放我们最近也在做,就问下这个吧
- 先讲讲你是怎么做的,每天大概需要录制多少请求,一个请求有多大呢?需要占用多少内存?内存太大怎么办?如果加redis集群成本太大呢?
- 如果我想要批量请求流量,你会怎么做?如果我想要按时间段请求呢?
- 那讲一下你们组的流程引擎,使用py或者c写的吗?不是的,都是用go写的
- 那给我讲一下流水线和上面的节点是怎么样的?吧啦吧啦…
- 你刚刚有提到过 MyRocks,那我看你简历也有写了解RocksDB,要不你给我讲讲lsm-tree?
- levelDB跟RocksDB有什么区别?
- 你熟悉计网不,熟悉的话那我就不问了?
- 问点os吧,io多路复用有了解吗?
- 讲一下零拷贝吧?
- 那我今天的问题就是这么多,你有什么要问我的吗?:
- 如果进去实习,需要提前学些什么吗?先学cpp的特性,方便看懂项目,然后学pulsar这个消息队列
- 就今天这轮面试,你对我的评价怎么样呢?我觉得经历丰富,很不错
三面 9.16 4:00-5:00
- 你挑一个实习或项目讲一下?分布式kv,一二面都没问我这个,我得说一下
- raft讲一讲?(问了挺多的,吧啦吧啦讲了一堆
- 讲一下实习做的流量重放吧?(介绍了一遍)
- 这个流量是怎么存的?听起来好像不太难,会对用户历史记录进行预处理吗,比方说乘客黑历史?(不会的,这就太复杂了)
- 流程引擎是怎么构成的?具体每个部分都讲一下吧?
- 我对你b站的分布式id很感兴趣,能不能给我讲一下你的方案(跟一面一样回答)
- 那这个并发量高吗?如果不高的话你有什么别的方案吗?
- 你感觉微信的方案怎么样?讲讲仲裁?其实微信的也没有严格递增,中间也是会跳号的,你说跟负载均衡的跳号一样吗,讲给我听听?
- 我觉得发号器的难点就是高可用和一致性都存在,虽说cap是这样讲,但其实wxg做的挺好的?(内心os:实习生能搞出这些东西吗)
- 你写cpp吗(很垃圾的水平),那没事我问你go的吧
- 先问一下channel是线程安全的吗?那写关闭的时候读会发生什么?
- 简单讲讲goroutine的调度
- 给你两个小场景,for range用过吧,是值传递还是引用传递
- 那假定一个sliceA,我创建一个sliceB,如果我修改了siliceB当中的内容会影响sliceA吗?如果我往sliceB中append数据,那么sliceA也会append吗?
- 前面两面有写过题吗,写过我就不问了
- 你有什么想要反问我的吗?
- 跟前两面问的问题一样,比较喜欢问这两个问题(Orz)
hr面 9.21 11:00-11:30
二面,三面的面试官都加了微信