社招阿里,字节,拼多多,滴滴面挂经历总结

阿里:

  投递部门:阿里云智能事业群
  投递岗位:Java开发专家
  面试结果: 二面挂

  一面(电面):
    主要是问以往的项目经历
    (1) 自我介绍
    (2) 介绍xxx的项目框架(不方便透露项目名称,怕侵权)
    (3) 你在项目中主要承担了什么工作?
        -- (没介绍清楚)
    (4) 介绍cgroup的机制
    (5) PG的慢日志解析上报怎么实现的你?
    (6) PG增备原理?
    (7) 介绍流式备份大致实现,上传完后怎么做校验(checksum)?
    (8) 所有实例并发做增备的情况下怎样分散kafka的压力?
    (9) 上传备份的时候怎么做流量控制?
    (10) 监控指标上报链路?
    (11) HA倒换怎么实现的?会不会有误判?
    (12) 最近有什么学习计划?怎么学习的?

  面试官因为是我同事的朋友,他说那就给你一点建议:
(1) 面试和面试官阐述的时候一定要说清楚自己在项目中承担了什么者说自己的工作有什么亮点,这样面试官一看就能抓住重点针对性提问?
(2) 要去学什么新的技术的时候,要从自己的实际工作出发,想清楚具体在哪里要用到这个技术,针对性去学?
(3) 云计算也有很多领域,也要再具体选择一个领域专研。

  二面(电面CTO面):
(1) 自我介绍
(2) 介绍项目
(3) 自己平时有没有针对性的在专研一些技术?
(4) 主备倒换的流程
(5) 自己做的过程中有意思或者觉得出彩的地方
(6) 为什么离职?
(大致这些,其它回忆不起来了)

字节:

   投递岗位1:云数据RDS for MySQL研发
   面试结果:一面挂

  一面(视频面)
(1) 自我介绍
(2) 项目介绍
(3)  介绍下cgroup, 告诉我具体哪一层做了什么(深挖)?
     --- 看得出面试官比较厉害,具体原理我答不上来
(4)  运维问题:假如mysql 错误日志中报了 too many open files的错误,如何trace错误的来源?
   --- 只知道/proc下面哪个pid打开了那个文件句柄有记录,其它不知道了。
(5) 高可用问题:给你三台机器,怎么做一个高可用系统?
  --- 答不上来
(6) 算法题:  一个数组,k个一组进行反转
     --- 这题其实leetcode上有一题是k个一组反转链表,当时想都没想就实现代码了,后来发现面试官给的题是反转数组,其实很简单。
(7)  算法题: 一万亿个IP, 怎么去重?
  --- 只知道用字典树思想,但是不知道具体怎么剪枝?    

后面问了面试官对我有什么建议, 面试官的建议是:对于一些东西要去深挖。

  投递岗位2:离线大数据开发工程师
   面试结果: 一面挂

  一面(视频面)
(1)  自我介绍
(2) 介绍一下kafka的架构?知不知道consumer group?
(3)  找出在a中,不在b中的id(写sql)
(4)  一个文件, file.txt, 每行一个单词, 可能重复,求每个单词出现的次数(shell脚本)
(5)  k个数组,每个n个元素,升序排列,合并成一个大的升序排列的数组。
  --- 这题其实是k路归并排序,时间复杂度用分治法是O(nlogk),和面试官讨论过程中发现面试官自己都没搞清楚,最后被他带沟里了。

拼多多

   投递岗位:数据库工程师(偏运维)
   面试结果: 2轮技术面过(总体较水),HR谈薪资挂了。

   一面(视频面)
(1) 自我介绍
(2) 介绍你们项目的框架
(3) PG有没有解析log的工具?
(4) mysql有哪些监控指标?
(5) mysql你知道哪些重要的参数?
(6) 你们是怎么做高可用的主备倒换的? 
(7) 举一些python的常用模块?
(8) 会其它语言吗?
(9) 你哪个代码写的熟练?不指定了自己写一个吧?
  --- 写了LRU算法
  二面(视频面)
 (1)  自我介绍
 (2)  介绍一下你们的框架?
 (3)  这个框架是你参与写的吗?
 (4)  会不会其它前端框架什么的?
 (5)  写一些python常用模块
 (6)  写个简单程序:输入一个dict,按value排序输出。

最后是和HR沟通薪资,因为翻了脉脉看到拼多多的一些薪资情况和不好的传闻,给了一个心理预估比其它公司稍高一点的价格(其实在拼多多算很低),开始和HR谈妥了,最后当天下午我信息都要填完后微信发来一个“要不然算了?” --- 纳尼?还有这种操作,火大,卒!

滴滴:

   投递岗位:高级后端研发工程师
   面试结果:3面技术主管面挂
   面试感受:3面技术官态度嚣张,体验极差

   一面(视频面)
 (1) 自我介绍
 (2) mysql中有哪些锁?
 (3) mysql的隔离级别?怎么实现的?为什么需要使用这些隔离级别?
 (4) mysql中有哪些监控指标?关于内存的指标有哪些?
 (5) mysql buffer pool是用来干嘛的?change buffer的作用?
 (6) mysql 版本之间差异
 (7) mysql IO线程是单线程还是多线程?
 (8) mysql怎么搭建主备机?
 (9) 介绍下kafka的架构?
 (10) select, poll, epoll知不知道?
 (11) DFS怎么实现?
 (12) BFS怎么实现?
 (13) 算法题:求一个二叉树的左视图?
  二面(视频面)
(1) 自我介绍
(2) 写一个timer装饰器
(3) mysql怎么搭建主备?
(4) 什么情况下会出现主备不一致?
(5) 算法:求两个列表的交集?
(6) 算法进阶:两个存了Int64个数的文件,怎么求交集?
(7) 你们监控指标整个上报的链路是怎么样的?
(8) 多进程同时访问一个文件会怎么样?怎么解决?
  三面(视频面)
(1) 先自我介绍
(2) 为什么离职?知道我们部门是干嘛的吗?未来有什么技术规划?
     (我回答说前面了解到贵组是做中台的,我尽量希望在云领域深耕,做基础架构,滴滴是有高并发的业务量,同时也做基础架构,我比较倾向来滴滴。然后这个人就开始莫名奇妙扯犊子,首先给我说一堆中台的概念,然后说我们做的和你的预期不一样,建议我继续去做基础架构,此时前面我只是简单做了个自我介绍,前两面也蛮顺利的,他这时候已经完全透露出拒绝我的意向,等他说完意思是面试可以结束了,我和他解释我并没有说我不想做后台,我个人只是表明一个自己的职业期望。然后他感觉故意一边自吹自擂,一边抛出一堆难题问我?)
     -- 你说说高可用架构怎么实现的?主库down掉怎么保证数据同步过去?我先讲了主从的高可用架构原理,他说你们用的都是几十年前的技术,坚持说业界早就有更好的架构解决这个一致性问题?实在是不知道自己没get到他的点还是他自己在扯淡,总之他已经表现出极大的不耐烦。
     -- 事物的隔离级别你说说?(我回答上事物的四个隔离级别,他说你说的都是十几年前的技术了,现在都是快照隔离级别,我搞了两年数据库,难道在这里知识有盲区?)
     -- 那你知道幻读是什么?和不可重复读区别是什么?
     -- 你给我讲讲raft算法?这个我听说过确实没深入了解过,他说你搞了两年数据库你就应该知道这些东西,我和他解释我并不是搞内核的,也并不精于某一款数据库,对Mysql引擎等体系架构和备份恢复原理比较了解,也介绍了以前自己做的是类似于运维开发,也要同时维护很多引擎,自己目前的经验也就两年,然后他就说两年在互联网是相当长的一个时间,他说自己都是从机械转过来的。

    总之和这个面试官的交流体验极差,全程一副居高临下的姿态,我自己在简历上已经明确写明我精通/熟悉/了解哪些,你清楚自己要招什么级别的人进来,自己在简历筛选的时候就把把关,实在是不想再有这么不愉快的面试体验!

面试总结

  一些人事方面的因素不再作过多讨论,总之我们要努力提升自己,这里我觉得有必要结合这几次面试做个总结。
技术方面的:
  (1) 自己写在简历上的东西要货真价实,但也可适当模糊处理,总之自己要把握度,确保自己清楚自己简历上的项目和技术怎么实现的。
  (2) 如果你项目用了某个具体的框架/技术,尽量自己挖深点,了解的多一点。
  (3) 从这几次面试中来看面试官更看重一个人的学习能力和热情,所以注意自己平时可以多写写技术博客,选择一个方向多深入专研一下,看看相关的书, 算法能力一定要熟练,这已经是判断一个程序员是否聪明的标准,某些时候你项目经验不足能以强大的算法能力来弥补。结合这几次的面试题来看,一般都会在一个问题上层层推进,最后很可能都会有一道海量数据处理的题目。

沟通方面:
  程序员也要注意练习沟通表达,这也是一个很重要的能力

心态方面:
   (1) 放平心态,有时候面试官问的问题深入你不会不是你的问题,而是他们要确定作为面试者的你有多少货,你会的越多他们自然给你定的级就越高。
   (2) 不管面挂还是通过,总之把每一次的经验自己做总结当自己查漏补缺和提升的机会,很多人不知道在实战中学习才是学的最快的。去大公司还是小公司也罢,都不是我们职业生涯的终点。

你可能感兴趣的:(社招阿里,字节,拼多多,滴滴面挂经历总结)