不确定是 WXG 还是 CDG 的微信支付,有小伙伴可以科普一下区别么?
一共面了 2 小时整。
0. 四道算法题,给一小时
- 删除s1中所有在s2中出现的字符
- LC 678
- LC 378
- LC 146
- 第三题给出的描述和 LC378 不太一样,问了一下面试官以后发现其实是一个意思。四道题除了这题以外都全部写完了,并且写了不少 test case 也都过了,这题写了一半面试官说时间差不多了,让我讲了下思路。四题应该都算 A 了,面试官说没问题
数据库:
1. 聊下索引,为什么我们要索引
2. 那索引的底层结构?为什么用 B+树?
3. 你聊的这些优点用红黑树也可以啊?为什么不用红黑树?(我提到了旋转操作,面试官题型还有树的深度)
4. 讲下事务,什么是事务?有什么特性?
5. 四大隔离级别是什么?
6. 不可重复度和幻读的区别是什么?
7. 怎么实现事务的原子性?(这边脑抽了,回答用锁,被面试官钓鱼讲了下 MySQL 里的锁23333)
8. 你再重复一下事务的特点,想一下怎么实现原子性?(undo log)
9. 那持久性呢?(redo log)
OS:
10. 进程 VS. 线程
11. 上下文切换?
12. 乐观锁、悲观锁
13. CAS 如果一直自旋有什么问题?怎么解决?
网络:
14. 为什么要三次握手?可不可以两次?
15. 为什么要四次挥手?
16. 四次挥手中客户端的 TIME-WAIT 的状态的意义是什么?
17. 怎么避免洪泛攻击?
18. HTTP 和 HTTPS 的区别?
19. HTTPS 怎么建立连接?
20. 你刚才提到的过程中,是用私钥还是公钥?
21. 那是用到了对称加密还是非对称加密?(Both)
22. GET 和 POST 的区别?
23. HTTP/1.1 和 HTTP/2 的区别?
24. HTTP/3 了解么?有什么区别?
场景题:
25. 现在有海量的 微信公众号文章访问记录,求访问次数最多的 Top100(脑子已经一坨浆糊了,引导了我都没答出来,让我下去以后再想想)
反问环节:
26. 我没问题了,你有什么想问的么?
- 我说没有 hhhhh,面试官也愣了一下,说那就这样吧,再见
- 其实忘记问了到底是 CDG 还是 WXG 啊!?
本来还想问多久能有后续,结果结束面试去吃饭的时候,大概过了两个小时官网流程进复试了,效率还挺高。
刚吃完饭跟家里人出去散步,接到电话约面,赶紧推了10分钟然后跑回家
面经:
0. 你还是简单介绍下自己吧
1. 介绍下简历里提到的研究经历
2. 介绍下简历里提到的实习经历
3. 我看你项目里列出来的这些基本都是课内的项目是吧?我比较了解国内的情况,能不能给我介绍一下美国那边本科生和研究生这块儿是怎么样的?
4. 你项目里提到了操作系统,写过fork()系统调用。你能说说 进程和线程的区别么?
5. 进程间通讯有哪些?
6. 那你能说说 虚拟地址么?为什么我们需要它?
7. 口述一下用两个栈模拟队列(剑指 09/LC232)
======(20 分钟)======
7. 我这边没问题了,你有什么想问的么?
- 这里聊了 10 来分钟
- 主要是未来规划上的问题,团队里担心我去实习拿到转正 offer 以后吊着他们最后毁约(毕竟留学生签约不像国内学生有三方,只有两方)
- 问了下1. 什么时候能给结果?2. 如果有后续的话还有几轮?回答有后续的话还有两轮,一轮技术一轮 HR,这是要有交叉面的意思?
看了不少面经,感觉今年普遍 bar 不是很高的样子?阿里这是要从实习开始跟 tx 抢人的节奏?
面经:
0. 你先 自我介绍一下
- 对 infra 相关的很感兴趣,之后硕士也是要去读 system track,未来想做这方面的工作(大哥笑了,说非常好)
1. 能来多久?
- 一直到九月下旬开学(大哥继续笑说非常好)
2. 我这边看你笔试成绩非常好,算法题我就不问了(我提到了第二题当时牛客 OJ 系统出问题,直到结束都不知道正确率,以及第一题一开始用二分法只过了 80% test cases,后面因为等第二题的结果,没来得写完牛顿法)。看你科班出身,刚提到了二分算法,那你来讲讲红黑树和 AVL 树吧。有什么差别?红黑树有什么优势?
- 八股(大哥笑了(师傅别念了))
3. 计算机组成与体系相关:Cache 的基本原理?L2 Cache?(这题不是很理解题意,不太清楚该答到什么程度)
- 大哥dbq,我只知道先查 L1 再查 L2 再查 L3,再没有的话查主存、磁盘(大哥笑了,打断我 lolll 说算了没事,本科嘛,理解)。 我事后猜是想我回答局部性原理?or 缓存地址的映射原理?面试的时候脑子短路了没说这两个
4. 说说虚拟地址到物理地址的映射吧
- 虚拟内存八股(其实有很多能说的,不过当时紧张只说了怎么计算)
5. 你刚提到了分页,那一般页的大小如何?
- 不知道,4k?……(大哥笑说没事)
6. 那说说内核的同步机制?(补充说明了下就是问我写 OS kernal 的时候会用到什么锁啊之类的?)
- 信号量,互斥锁……balabala。大哥补充 spin lock(我nc了没反应过来,只好说当时 project 里只用到了 mutex 和 semaphore。大哥笑了说没事,还跟我解释了一下他们的工作中会用到不少 spin lock 所以想让我说说看)
7. 那我问个宏观一点的,让你来说的话,你怎么衡量 CPU 的性能?没有标准答案,你想一想。那内存呢?
- 有点懵,CPU 那个说了可以用同等条件下运行相同任务的时间来量化「速度」,硬件上 cache 大小,主频大小也会有影响;内存只想到大小和频率。
8. 我这边差不多了(这时候才过去 20 分钟,感觉自己凉透了),你有什么问题都可以问(聊了十来分钟…)
- 团队内部做的工作大概是什么?(写Hypervisor,KVM 那些)
- 我要是有机会继续面下去的话哪些方面需要提高?(这时候老哥很谨慎,说如果有后续的话,得再多学学底层 orz)
- 那什么时候能有反馈?(接下来两三天吧,就明后天差不多了,下周的上半段会通知你约下一轮的)
- ……老哥沉默了两秒,可能是意识到自己说漏嘴了,跟我说:「那我这边就跟你说吧,我给你过了,你可以准备下一轮了」
- (内心狂喜)那下一轮的面试会跟这轮差不多么?(老哥继续笑,表示因人而异)
面完发现忘记问后面还有几轮了,现在官网上刚刚从「简历评估」变成「面试中」,「邀约」和「专场」都是灰的,有了解情况的大佬可以解答一下嘛?这轮属于简历面?后面还有正式的一二三面+HR 面么?
update: 下午系统变成 本次流程已结束 😶
3月13官网投的简历,以前有注册过,没法用内推。 一开始投递了 PCG中台大数据,后面接到了 PCG 和 IEG 天美的电话(后悔,当时跟天美的大哥说以后正式工作可能还是 prefer 北京和上海,深圳实习是 ok 的,估计这个原因把我简历释放了),今天面的是 TEG 基础架构部门这边,3 月 16 直接发起的面试邀请。
0. 两道算法题(要求一定要用 C/C++ 写)
第二题写的时候没看清题意,写完 test 完重读题的时候发现是要把倒数第 K 个节点开始到尾部这一整个部分全都放到表头,换句话说,以倒数第 K 个节点为界,翻转原链表前后两部分
e.g. 1->2->3->4->5->NULL, k = 4, 翻转完:2->3->4->5->1->NULL。结果我写成了 2->1->3->4->5->NULL(凉)
1. socket 编程写过么?
- Network 课上的 project 忘记了,只回答了一个分布式系统课上用过
2. 那你说下 TCP TIME_WAIT 吧
- 八股
3. TCP 的 流量控制
- 八股
4. TCP 如何 保证可靠性
- 八股
5. 使用 TCP 过程中的 seq number 有什么规则?
- 我是 fw,我忘了
6. 那 TCP 是大端序还是小端序?
- ?
7. 你现在在北京么?(意向城市选了北京)
8. 我这边没什么问题了