社招和校招个人感觉最大的不同在于对项目经历的重视程度,考八股文相对来说更少,需要结合项目去问一些知识点以及怎么解决。在岗面试,精力有限,只投递了蚂蚁、抖音电商、米哈游、滴滴、微软。微软面到三面,精力有限就暂停了流程。其他都差不多了。。问的最多的是,为什么一年不到就跳槽,这个得提前想好了。不然容易被怼😭
米哈游:
一面:
首先是自我介绍加项目介绍 大概15分钟
1、golang内存模型,GMP
2、go的context包,以及channel使用
3、redis跳表结构和性能,redis怎么保证一致性,哪些命令不能在redis中执行。redis分布式锁,分布式死锁?setnx潜在的问题,怎么保证缓存一致性,redis跳表底层实现以及它的特点
4、mysql索引底层结构?为什么不用红黑树和多叉树。b+树的特点以及和多叉树的区别。
5、mysql索引优化,limit会有什么问题。如何解决?
6、用go手写生产者和消费者。
7、golang里面如何解决并发问题,如何理解go中不建议使用共享内存来通信而是通过通道来实现。
8、mysql事务的特性,mysql中的锁,数据库中的日志,以及它们有啥用。
9、总结加提问
二面:忘了具体问了啥
蚂蚁金服:
一面:
问项目加自我介绍,最拿手的项目。实现细节,如果解决遇到的问题。以及有没有更好的办法优化。
算法:快排加多次二分
二面:还是深挖项目细节,电话面,没有视频面
三面:交叉面,问了很多八股文,网络问的很细,从物理层一直问到应用层。udp和tcp。网络路由协议,dns域名解析过程。http一次完整的请求涉及到的协议。https的详细过程以及对称加密。http和https区别,除了证书,端口,加密过程还有啥区别。tcp三次握手四次挥手。ip4和ip6,物理地址,ARP协议。mysql也问的比较多,行锁,表锁,版本号。切分大查询和联表查询。分库分表。mysql调优。redis中的缓存一致性。分布式锁宕机了怎么办,死锁的四个必要条件,怎么预防和解决死锁。设计模式?工厂模式和抽象工厂以及策略模式?问的没什么新颖的地点,比较枯燥乏味。
四面:感觉级别挺高的,因为花名听起来很厉害的样子。问项目,讨论难点和遇到的问题,怎么解决线上问题。为什么想离开当前公司,未来规划。
hr面:为什么想不到一年时间离开当前公司,你的优点和缺点?介绍一下你当前熟悉的业务以及你如何解决项目中遇到的问题。当前有哪些offer,当前薪资和期望薪资。
字节跳动:八股文都那些,自我介绍聊项目,聊完项目问基础。mysql就问数据结构,索引最左匹配原则。mvcc,解决aba问题,怎么设计?mysql事务,mysql主从同步,读脏怎么解决?redis有哪些数据结构?redis集群?怎么保证数据持久化?两种持久化的区别,优缺点?setnx和redlock实现上有什么区别?zookeeper分布式锁实现原理。缓存续期?怎么判断redis服务器宕机呢?lua脚本?go协程为什么快?并发和并行?协程和线程区别。go的垃圾回收?go的优势。缓存击穿和缓存穿透区别,缓存雪崩?服务降级、服务如何注册和发现。你理解的分布式服务是怎样的呢?
算法:打家劫舍,首末和相邻不能抢。时间复杂度o(n)空间要求o(1)
二面:自我介绍,项目介绍,八股文。算法:实现和设计lru。让我别去蚂蚁。。
三面:自我介绍,项目介绍,八股文,算法:全排列,时间有多,5分钟快排加查找数组中目标值的数量。(需要统计目标值的数量)
hr面:为什么离开当前公司?未来规划,换城市怎么样?期望薪资,当前薪资,当前offer。
滴滴:
一面:自我介绍,项目介绍。扯项目细节。go的源码,go的特点。怎么使用channel?你所用的场景?go的互斥锁,读写锁。原子类,实现原理。怎么样在并发场景设计并发安全的线程池?go的协程异步和前端ajax的异步有啥区别?实现原理不一样嘛?mysql索引最左匹配原则?redis一些问题。
算法:二叉树的右视图。递归和遍历都写出来。分析时间和空间复杂度。
二面三面记不得太清楚了
微软:
一面:英文自我介绍加项目介绍。英文介绍docker的使用。
为什么想来微软?算法:设计并实现一个有多个岔路的地图,每个点到每个点长度不一样,并且有红绿灯。红灯和绿灯的时间都不一样。红灯必须要等待,绿灯可以通行。求一个点到另外一个点最少需要多少时间。讲思路,实现代码,分析时间和空间复杂度。有没有更好的方法呢。
二面,英文自我介绍加项目介绍。英文讨论jenkins。
算法:1-26对应a-z,给一个字符串1221,输出可以转化的所有对应字符串的可能结果。可以是abba ava lba lu 等
三面:英文自我介绍加项目介绍,算法:涉及一个可以获取当前最小值的栈。包含pop top push getmin()等方法。
全部评论
(9) 回帖