干货献上 2019年蚂蚁金服、头条、拼多多的面试总结( 四 )


二面
自我介绍下手上还有其他offer么?(拿了蚂蚁的offer)部门组织结构是怎样的?(这轮不是技术面么,不过还是老老实实说了)系统有哪些模块,每个模块用了哪些技术,数据怎么流转的?(面试官有点秃顶,一看级别就很高)给了我一张纸,我在上面简单画了下系统之间的流转情况链路追踪的信息是怎么传递的?(的,说了Span的结构: + )怎么保证唯一性?(UUID,说了下内部的定制改动)是在什么维度传递的?(线程)Dubbo的远程调用怎么实现的?(讲了读取配置、拼装url、创建、服务导出、服务注册以及消费者通过动态代理、、获取列表、负载均衡等过程(哗啦啦讲了10多分钟),我可以喝口水么)的单例是怎么实现的?(单例注册表)为什么要单独实现一个服务治理框架?(说了下内部刚搞微服务不久,主要对服务进行一些监控和性能优化)谁主导的?内部还在使用么?逆向有想过怎么做成通用么?有什么想问的么?
三面
二面老大面完后就直接HR面了,主要问了些职业发展、是否有其他offer、以及入职意向等问题,顺便说了下公司的福利待遇等,都比较常规啦 。不过要说的是手上有其他offer或者大厂经历会有一定加分 。

干货献上  2019年蚂蚁金服、头条、拼多多的面试总结

文章插图
小结
拼多多的面试流程就简单许多,毕竟是一个成立三年多的公司 。面试难度中规中矩,只要基础扎实应该不是问题 。但不得不说工作强度很大,开始面试前HR就提前和我确认能否接受这样强度的工作,想来的老铁还是要做好准备
字节跳动
面试前
头条的面试是三家里最专业的,每次面试前有专门的HR和你约时间,确定OK后再进行面试 。每次都是通过视频面试,因为都是之前都是电话面或现场面,所以视频面试还是有点不自然 。也有人觉得视频面试体验很赞,当然萝卜青菜各有所爱 。最坑的二面的时候对方面试官的网络老是掉线,最后很冤枉的挂了(当然有一些点答得不好也是原因之一) 。所以还是有点遗憾的 。
一面
先自我介绍下聊项目,逆向系统是什么意思聊项目,逆向系统用了哪些技术线程池的线程数怎么确定?如果是IO操作为主怎么确定?如果计算型操作又怎么确定?Redis熟悉么,了解哪些数据结构?(说了zset) zset底层怎么实现的?(跳表)跳表的查询过程是怎么样的,查询和插入的时间复杂度?(说了先从第一层查找,不满足就下沉到第二层找,因为每一层都是有序的,写入和插入的时间复杂度都是O(logN))红黑树了解么,时间复杂度?(说了是N叉平衡树,O(logN))既然两个数据结构时间复杂度都是O(logN),zset为什么不用红黑树(跳表实现简单,踩坑成本低,红黑树每次插入都要通过旋转以维持平衡,实现复杂)点了点头,说下Dubbo的原理?(说了服务注册与发布以及消费者调用的过程)踩过什么坑没有?(说了dubbo异常处理的和打印的问题)CAS了解么?(说了CAS的实现)还了解其他同步机制么?(说了以及两者的区别,一个乐观锁,一个悲观锁)那我们做一道题吧,数组A,2*n个元素,n个奇数、n个偶数,设计一个算法,使得数组奇数下标位置放置的都是奇数,偶数下标位置放置的都是偶数先说下你的思路(从0下标开始遍历,如果是奇数下标判断该元素是否奇数,是则跳过,否则从该位置寻找下一个奇数)下一个奇数?怎么找?(有点懵逼,思考中 。。)有思路么?(仍然是先遍历一次数组,并对下标进行判断,如果下标属性和该位置元素不匹配从当前下标的下一个遍历数组元素,然后替换)你这样时间复杂度有点高,如果要求O(N)要怎么做(思考一会,答道“定义两个指针,分别从下标0和1开始遍历,遇见奇数位是是偶数和偶数位是奇数就停下,交换内容”)时间差不多了,先到这吧 。你有什么想问我的?