谨以此文纪念2019年春招

谨以此文纪念2019年春招

前言

整个三四月,一直在背知识点,感觉好多内容没有复习到位。
每天刷着leetcode和ZOJ,逛着牛客网看又有哪家开始面试,每天的心情就像一个“W”。
看过别人发的腾讯大厦,幻想过腾讯大厦向外看的感觉。
大一暑假去过阿里杭州园区,担忧自己有没有机会再去。
真的没想到迷茫中的自己等来了腾讯,又迎来了阿里。
开发新产品的意义就在于能够让人们更好的科技的时代中生活,我依然有无数的知识需要学习,希望此文能够给困惑中的同学们一点点帮助,摆脱焦虑。
终有一天,梦想实现,想起阿里园区中的一句话,“谢谢那个曾经努力的自己”。
也希望未来的自己也能够和优秀的同学一起成长。

简历情况

  1. 本科大三,5%。
  2. 计算机视觉深度学习项目2个(一大一小),大项目论文投了《计算机应用》(已录用)。
  3. 浙江省“新苗”科技创新项目立项。
  4. ACMer,看过STL和JVM,熟悉数据结构,实现能力中上。
  5. 技术栈:C++/Java/Python比较均衡,了解Linux和docker,设计模式。
  6. 生活中:计算机社团社长,大学生暑期社会实践团队负责人。
  7. 看的书:机器学习基础+花书+西瓜书,leetcode,JVM虚拟机,effective C++
  8. 贡献量:Github: https://github.com/lizhimins CSDN: https://blog.csdn.net/Terrances

offer情况

  1. 已获:美团(4面),默安(3面),涂鸦(3面),腾讯(5面),阿里(5面)
  2. 希望:华为(简历池),微软(1面)
  3. 放弃:京东(笔试时间不合适),有赞(主要是有offer了…)
  4. 已挂:字节跳动(1面)

投递情况

已投递

  1. 小米,3月13日投递,上海,软件开发工程师-Java方向,还在简历池里面,估计校招时间没到。
  2. 美团,3月2日投递,北京,后端开发,3月13日技术一面,3月16日技术二面,3月18日offer。
  3. 阿里巴巴,3月13日投递,杭州总部,Java后端开发,3月15日内推到新零售事业部,Java研发。3月28日晚5点准备去吃饭,收到面试邀约,天气暴雨,随便找了个教室面试,然后过了一面等二面中…
  4. 字节跳动,3月13日投递,上海,后端开发,3月16日春招在线编程4题全对。3月23日技术一面,技术方向和面试官不符合,这是我最生气的一次面试,莫名其妙被对面挂了,也是暂时唯一面试挂的。
  5. 默安科技,3月14日投递,杭州,C++开发,3月15日晚连续一面,二面技术面,秒杀了几个算法题后技术面过,3月16日HR中午面试给了offer call,这也是我收到的第一个offer,非常感谢默安,蹭一下云舒大大的欧气,说五月给正式offer并且加了微信好友。
  6. 腾讯,3月15日投递,深圳总部,后端开发,找了工程师内推到CSIG云与事业产业群,然后被微信捞起,简历面+三次面试,3月30日HR面,已offer call。
  7. 京东,3月16日投递,北京,未收到第一批未笔试,Java开发岗。4月笔试时间不合适放弃了。
  8. 拼多多,3月17日投递,上海,基础平台研发工程师。QQ登录的,简历填写较为简单。
  9. 涂鸦智能,3月17日投递,杭州,后端开发工程师。主要做5G+物联网+机器学习的。一面算法秒杀,二面问了多线程,二面是leader级别的,答的还可以,说给offer是C++音视频方向,主要做视频会议这类的,还没有HR给正式offer call,但是留了联系方式和微信。
  10. 华为云计算,3月17日投递,北京,云计算产品工程师-IT产品线。估计是我渣渣本科不能过关,简历池了,笔试机会都木给我,果然菜是原罪。

投递失败或未投

  1. 深信服,3月17日投递,广州,说暂拒2020实习生,让我四月再投。
  2. 网易,杭州总部,后端开发,未投简历。准备找人内推。
  3. 搜狗,3月21日开始投递,岗位只有北京。未投简历。
  4. 滴滴新锐。3月22日感觉有点困难,未投简历。这个没找到链接。
  5. 携程。3月23日看了下只有广州的,暂时没有投递。
  6. **百度和度小满(百度金融)**3月25日投递,邮件内推,暂时没有收到面试。
  7. 有赞,3月27日,杭州,后端开发,电商。因为已经投了涂鸦和阿里,就拒了。
  8. 中国移动。觉得没有杭州的岗位就没有投递。
  9. IBM投递链接

面试情况

美团

美团一面 (43分钟)

第一次面试很紧张,没有录音

  1. 自我介绍+项目。
  2. 线程的实现,同步,优化
  3. 线程同步,线程私有变量。
  4. 自旋锁,锁膨胀。
  5. mysql索引怎么实现。最左前缀。成为PK的条件
  6. Time-wait和Close-wait出现在什么时候?
  7. 怎么实现反射。
  8. java序列化,netty
美团二面 (21分钟)
  1. Spring Dao用哪种设计模式用得最多?
  2. hibernate注解和XML。
  3. 装饰器模式。抽象工厂模式。
  4. AQS的源码和ReentrantLock的源码
  5. Spring AOP了解过吗。
  6. Spring管理的bean的对象存储在哪里。类的元信息比如常量表,字面量,静态字段在方法区(Method Area里),关于对象的数据在jvm堆里。
  7. HashMap原理,hash冲突解决,然后又扯到红黑树。
美团三面 (45分钟)
  1. 没有自我介绍,强怼项目。
  2. 线程池,线程池里面的线程的状态有哪些。
  3. 给链接手撸hash拉链。这个花了25分钟左右调到没BUG了。
  4. 发展规划。
  5. 想问的。
    分布式锁:多台机器部署的应用对一个共享数据做同步,问如何解决。
美团HR面
  1. 忘记录音。

默安科技

默安科技一面
  1. 自我介绍+项目。
  2. 二叉树前序遍历。
  3. 深入了解项目。
  4. 线程进程区别,线程状态。
  5. 做了几个题,具体有些忘记了。
  6. 怎么看端口占用状态。答lsof -i, netstat。
  7. Linux常见命令。ls,mv,cp,source,cron等等。
默安科技二面
  1. 链表找中间节点。快慢指针
  2. 讲讲快排。口述伪代码。
  3. TCP/UDP区别,用途,优势。
  4. socket编程一般顺序。
  5. 二叉树层次遍历,口述伪代码。
  6. Java基础,封装,多态。
  7. 默安科技主要还是C++主导,Java岗位也有。
默安科技HR
  1. 问了下基本情况就给了offer,五月正式offer
  2. 默安在我比较绝望的时候给了我很大的信心,谢谢默安科技。

腾讯(WXG微信支付)

投的是CSIG云产业群,意外的被WXG微信组捞起,感谢机缘巧合吧。

腾讯简历面(编程 + 33分35秒)
  1. 记事本里手写OOP实现一个签到的程序。
  2. 从一堆数字中O(n)找不重复的数字。
  3. 字符串处理,魔改KMP。
  4. 数学智力题,64匹马取前8,问最快要几次。11次。
  5. 简历面,问项目做了什么,主要的技术栈。
腾讯一面(41分38秒)
  1. 深入问了我项目。
  2. 线程池,连接池,各自优点。
  3. Java常见设计模式。
  4. 讲讲builder建造者模式。这个答的不太好。
  5. TCP/UDP区别,什么时候该用什么。
  6. UDP实现TCP。
  7. 设计一个APP,TCP/UDP具体运用。
  8. 数据库索引,数据库引擎。
  9. 学习方向,我说C++/Java/Python比较均衡。
  10. 监督学习,无监督学习。
  11. 科技创新立项都做了什么。
  12. 没给我机会问问题,大概还是我太菜了。
腾讯二面(视频面试,75分钟,主要是写代码)
  1. ACM复杂规则模拟。这里可以用Java责任链模式,但当时问的时候我没有答出来,看过忘记了。
  2. Java GC。开始背诵balabala。
  3. 双亲委派机制。
  4. 产生死锁的四个必要条件:
    互斥条件:一个资源每次只能被一个进程使用。
    请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
    不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
    循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
  5. 独占锁,共享锁和更新锁。
  6. 还有什么想问的。问了下技术氛围和学习情况。
  7. XSS注入攻击了解不。答不会。
  8. SSH登录,我说了半天,对面说这个方法叫什么。想了一下,非对称加密。
  9. 实现一个人脸识别软件要多少工时?
  10. 说实话,这一面面的我快自闭了,有些看过就忘了。
腾讯三面(微信语音的)
  1. 进程调度,进程状态切换。
  2. 怎么用Java/C++实现线程池,具体的做法。
  3. Spring框架,ORM框架Hibernate讲讲。
  4. IOC, AOP,IOC(控制反转)和DI(依赖注入)有什么不同,Java反射机制。
  5. 适配器模式(Adapter pattern),桥接模式(Bridge pattern),组合模式(composite pattern)
  6. 主要问我想做的技术方向。
  7. 介绍腾讯的部门和人员划分等。
  8. HDFS, Paxos选举协议,zookeeper和redis一点点。
  9. 口头offer
腾讯HR面(小哥哥)
  1. 自我介绍,社会活动介绍。答了计算机社团,暑期社会实践。
  2. 选了简历上一个项目,项目中你的贡献。
  3. 你对腾讯的认识。
  4. 你为什么要投这个岗位,还投了其他公司吗?提了阿里,涂鸦,美团。
  5. 那ali和tx你选那个。腾讯呀,机会更多balabala。。。
  6. 父母亲人有从事相关计算机岗位吗。
  7. 父母对你成长的影响,对你岗位的选择怎么看。
  8. 平时都学什么东西,没课的时候干啥。
  9. 你觉得你有什么优点,缺点。
  10. 你提到了老师,请问你觉得老师最好的品质是什么?示以美好,授以希望。
  11. 还有什么想问的。问了下部门人员结构和转正率。
彩蛋
  1. 小伙伴A,HR面,我觉得WX是最好的产品。对面:我不是WX的。舔错了(?)
  2. 小伙伴B,一面说,我不会C++。面试官:晓得了,一面过了。
    二面,面试官:听一面说你的C++特别好。然后。。。

字节跳动(今日头条)

  1. 手写归并排序。
  2. Git版本控制。按项目怎么用答了一下,分支冲突解决。
  3. Python装饰器。答当时我用来写单元测试的,久远,忘记了
  4. 讲讲docker。答隔离机制,挂载点,线程,还扯了内核调度,估计不是想要的答案。
  5. docker内网IP段是什么。
  6. 数据库索引机制。
    答B+树,hash,各个优势balabala,然后说不太对?
    答聚簇索引,非聚簇索引balabala,还不太对?没懂这个题问什么。
  7. 数据库B+树。能答的都答的差不多了。
  8. 乐观锁悲观锁,CAS, ABA问题。
  9. 还想问的?您是做什么的,GoLang开发。

总结一下问题:Git,docker,Python,Golang。
没问任何C++/Java。也没有问数据结构,计算机网络。
今日头条后端开发一面凉,心态爆炸。

涂鸦智能

涂鸦一面

  1. 自我介绍。
  2. 主要问了下项目。

涂鸦二面

  1. 线程进程区别,线程状态。
  2. Linux权限755是什么。
  3. select pool epoll,文件描述符FD。
  4. 设计一个多用户APP,你会怎么分配,安排,和腾讯的问题比较类似。
  5. 还有一些碎的问题。
  6. 这一面和负责人聊得非常开心。如果没有AT,我估计会选择涂鸦。

涂鸦HR面

  1. 实习生打的电话,告知收到腾讯offer,不互相浪费时间。

微软

  1. 待补充

阿里巴巴(新零售)

阿里一面(38分50秒)

  1. 自我介绍+项目介绍。深度学习,SSH框架,C#,Java
  2. 看你提到了连接池,druid连接池。
  3. 常见排序算法。快排,二路归并,冒泡,插入,锦标赛排序。topK问题。
  4. TCP三次握手,四次挥手。
  5. 数据库引擎对比,索引。Innodb,Myisam和Memory对比了下,B+树,hash,between操作,left join操作。
  6. 看你搞ACM,你给我讲个简单的数据结构,答了并查集和线段树。
  7. 怎么保证多线程操作的原子性。原子类,锁,volitile部分操作。
  8. 深入问了乐观锁,悲观锁及其实现。我提了CAS, ABA但是不问我hhh。
  9. Python机器学习基础。
  10. 怎么解决依赖问题。
  11. zookeeper锁,数据库隔离级别。
  12. docker隔离部署问题。
  13. taobao查询排序要考虑那些因素?这个问题贼困难了,能说的东西很多,估计是看了我简历上机器学习,答了过往消费记录,搜索记录,协同过滤,聚类。
  14. 有什么要补充的呢,要考虑商家那边的情况,balabala。
  15. 还有什么想问的。

总结:问的问题很碎但是很全面,很容易看出一个人的基础掌握程度。

阿里二面(45分39秒)

  1. 自我介绍+项目介绍。深度学习,SSH框架,C#,Java
  2. 项目中你相比于别人的优势在哪里,就是你用了别人没有的东西。
  3. 你觉得你的能力大概在什么方面。ACM能力。当时以为要我敲代码了。一边说话一边开机。
  4. 你是如何进行学习的?
  5. 画一个软件的执行流程,UML, ER。
  6. 有没有写过开发文档。
  7. Java怎么加载类,加载验证准备解析初始化使用卸载,双亲委派机制。bootstrap class loader,extend class loader具体。
  8. linux常用命令。iftop,netstat,htop,apt,yum,source,corn,docker等等。
  9. 讲讲docker。
  10. MVC,MVVM对比。
  11. Spring的IOC, AOP。
  12. ORM框架Hibernate讲讲。
  13. 设计模式了解吗?
  14. 还有什么想问的。

总结:这一面中规中矩,没有问很难的问题,只要确实尝试过简历上所说的内容,应该都可以答出来。

阿里三面(leader面 18分59秒 + 24分53秒)

  1. 提前一天预约
  2. 告诉我今天面试40分钟左右,包括自我介绍,技术知识,项目经验。
  3. 自我介绍。奖学金,ACM,深度学习,传统项目开发,负载均衡优化等。
  4. 你维护的CSDN和Github主要内容,刷ACM题情况。
  5. 你的哪块基础知识比较好一点?每块都很平均吧。。。
  6. TCP如何在不可靠网络传输上实现可靠传输?超时重传,滑动窗口。TCP状态。
  7. TCP超时时间,RTT怎么计算。
  8. 4G切换Wifi时候TCP怎么实现流量变化?分组丢失,快重传,快恢复等。路由器交换机排队。
  9. 常见的TCP优化算法。TCP拥塞算法,答了谷歌BBR和锐速的原理以及简单实现。
  10. 操作系统linux内核对TCP优化的办法,HTTP1.0,1.1,2.0每个版本做的更新。状态100,host字段,谷歌浏览器6个TCP连接等,支持长连接。
  11. HTTP中cookie和session的区别。客户端服务端,表示用户的方法,禁用cookie时候怎么办。
  12. 在上一条的基础上拓展答了Redis.
  13. session存的数据结构,对于单个用户set,多个用户hashmap。
  14. hashmap的原理,key-value计算,冲突解决的三个方式。和二分时间复杂度对比。rehash造成环。
  15. hashtable线程安全嘛,讲讲线程安全具体实现。
  16. conCurrentHashmap和Hashmap性能上除了分段锁还有什么别的优化。我只回答了段内扩容。
  17. 高并发场景下hashmap使用,CAS,ABA问题。
  18. 并行和并发的概念和区别。时间片,上下文切换。
  19. 数据库范式,NoSQL了解过吗?
  20. UML图,ER图,流程图。
  21. 数据库的索引,最左前缀,abc三个主键。
  22. 跨表查询常见优化思路。
  23. 电话中断…吐槽阿里园区的电话质量,每一面都有问题。
  24. 打通之后简单聊了一下,有没有别的公司offer,说有美团,腾讯offer,挑战微软。

总结:此人说话很有条理性,一听就是大佬,全程在敲面试记录,综合体验还是很不错的。

阿里四面(交叉面 天猫超市)

  1. 自我介绍,介绍完了又让我确认了一遍 专业,学历,电话确认。(?)
  2. 讲讲你的ACM经历。
  3. 你有考虑过考研嘛?可以在企业中学到更多吧。开始迷了一会儿,听不清对面说什么。
  4. 对比一下考研和工作。
  5. 怎么平衡工作和休闲的时间。
  6. 你在深度学习项目里面做了什么。看过花书,西瓜书,机器学习导论。
  7. 这个项目可以用到哪些方面,夜间摄像头,老照片修复等等。
  8. 你了解Java开发框架嘛?SSH,SSM。扩展了dubbo,durid,rocketMQ,Netty。这个问题我答的太多了,磨蹭了蛮久。
  9. 讲讲rocketMQ,优先级队列,Filter,Persistence,Reliablity。
  10. 消息的一致性怎么做。保证幂等性。
  11. 回溯消费。回溯消费是指Consumer已经消费成功的消息,由于业务上需求需要重新消费。
  12. wait(), sleep()区别。yield方法。
  13. lock和synchronized对比。
  14. 可重入锁,偏向锁,锁粗化。
  15. volitile保证内存的可见性,禁止指令重排,cache。
  16. volitile保证原子性?我说可以,后来我查了下是部分可以。。。完全答错。
    由于volatile保证了可见性,那么在每个线程中对inc自增完之后,在其他线程中都能看到修改后的值,所以有10个线程分别进行了1000次操作,那么最终inc的值应该是1000*10=10000。这里面就有一个误区了,volatile关键字能保证可见性没有错,但是上面的程序错在没能保证原子性。可见性只能保证每次读取的是最新的值,但是volatile没办法保证对变量的操作的原子性。
  17. 内存屏障。直接说不知道,大神我真的不懂啊。。。

内存屏障(Memory Barrier,或有时叫做内存栅栏,Memory Fence)是一种CPU指令,用于控制特定条件下的重排序和内存可见性问题。Java编译器也会根据内存屏障的规则禁止重排序。
内存屏障可以被分为以下几种类型
1. LoadLoad屏障:对于这样的语句Load1; LoadLoad; Load2,在Load2及后续读取操作要读取的数据被访问前,保证Load1要读取的数据被读取完毕。
2. StoreStore屏障:对于这样的语句Store1; StoreStore; Store2,在Store2及后续写入操作执行前,保证Store1的写入操作对其它处理器可见。
3. LoadStore屏障:对于这样的语句Load1; LoadStore; Store2,在Store2及后续写入操作被刷出前,保证Load1要读取的数据被读取完毕。
4. StoreLoad屏障:对于这样的语句Store1; StoreLoad; Load2,在Load2及后续所有读取操作执行前,保证Store1的写入对所有处理器可见。它的开销是四种屏障中最大的。
5. 在大多数处理器的实现中,这个屏障是个万能屏障,兼具其它三种内存屏障的功能。有的处理器的重排序规则较严,无需内存屏障也能很好的工作,Java编译器会在这种情况下不放置内存屏障。

  1. 解释一下copyOnWrite,讲了一下Mac OS里面对文件写时复制技术。
  2. 叫车时候,怎么给周围车辆排序?你能拿到哪些数据,常见路线,加权堆排序或者其他机器学习方法。怀疑是滴滴的大佬?
  3. 堆排序比其他排序好在那里?(时间)稳定性?快排什么时候O(nlgn)退化O(n^2),堆一直O(nlgn)。后来大佬说他没有说时间,说的是排序稳定性。那么堆不是稳定的,都怪电话听不清,这锅我不背啊。
  4. 海量数据找TopN。锦标赛排序,败者树。大根堆,小根堆。
  5. 完全二叉树,满二叉树。红黑树的几个性质。
  6. 红黑树旋转次数。我拓展了伸展树,二三四树,B+树的具体实现相同不同点。
  7. hashmap什么时候用红黑树。冲突量>8, <6的时候退化为链表。为什么要这么做。性能比较。
  8. 觉得前面16-18答的不好,我说我的代码实现能力还可以(疯狂暗示coding手速能不能加点分)。
  9. 你还有什么想问的。不同部门情况。
  10. offer情况,所以你会去腾讯?考虑地域问题,家人问题也可能选阿里。
  11. 您是哪个部门的?天猫超市。其他问题。

总结:问题都很不错,很全面也很深入。奈何本人太菜,答错了几个点。

阿里HR面

  1. 自我介绍开局缓解尴尬。
  2. ACM,学习的内容,论文情况。
  3. 学习方法,实践方法。
  4. 初高中算法竞赛和大学竞赛有什么不同。
  5. 你怎么自学法。
  6. 怎么平衡工作和学习。
  7. 花书,机器学习导论主要讲了哪些内容?讲的比较浅层,但是HR反问了一个点。(HR也懂技术,大雾)
  8. 你带领的计算机社团在大学期间的贡献。
  9. 社会实践方面“十佳团队”,整个活动内容,流程讲讲。
  10. 其他常规问题。
  11. 想问的,部门人员情况。

小吐槽

面试官都很友好,但是后面几面电话通话质量太差了,每一面都有听不清的情况,面其他公司没有这个问题。

笔试情况

字节跳动(开发岗笔试,3月16日,C++,4AC)

  1. 贪心 没什么好说的,200->17,这里要1024减一下
  2. 扫描,从前向后不断更新,匹配规则以后去掉字母就可以,中间有点写丑了,15-20分钟
  3. 模拟+贪心,首先把1号复制一下做一个开环,然后从左到右从右到左贪心最小更新即可,不读错题应该10分钟内
  4. 典型的二分答案,读完题应该就知道了,项目做多了二分都写炸了。。。eps精度不够会导致只能90%

京东(开发岗,4月13日,没参加但是后来看了题)

  1. DFS或者并查集
  2. 先观察到m很小(10),然后直接想KMP,找一波把符合条件的区间用struct记录下来,然后区间贪心,参考借教室问题。想法肯定对了,实现上受时间限制可能码不完。

致谢

在3月中的几天,每天都担心被捞起,接不到面试电话怎么办?没谈好挂了怎么办?为什么自己还在简历池?
为什么别人不如我都能上岸。其实还是因为自己不够强,想明白了又滚去学习了。
加入了夸夸群,相互鼓励,让我有信心继续等下去,也没荒废手上的阅读。

致谢:(排名不分先后hhh…)

  1. 样样,在牛客有ID(今天yy收到offer了),腾讯offer。
  2. 沙沙,研究生,爱奇艺大佬。
  3. ,海外研究生,夸夸群群主。
  4. Roni,某省ACM大佬,最佳女队,ACM奖无数。
  5. Draymonder,矿大本科生,刷题经历丰富,善于总结。
  6. David,小项,Py和Go大神。
  7. 人类的文明,群里学历最高的,南大博士高材生
  8. adsb,面阿里专有云的大佬。
  9. 刘TN,阿里云OSS在岗工程师。
  10. ",腾讯CSIG在岗工程师,腾讯内推人。
  11. 努力和大佬做同事,北京研究生。
  12. 以南,和我同龄,海外研究生,可我本科她却研一?
  13. 儒雅随和臭弟弟,种灵芝的大佬。
  14. Psyduck,地理跨考计算机,数据岗。
  15. 卑微的自走棋骑士dota中军0offer,数学系,研一,好像华为offer。
  16. 晓航,一起面ali的朋友。
  17. Mosquito,四川ACM大佬,对算法和数据结构非常熟,面Java研发。
  18. Zero,上海交大研究生。
  19. 凌云。博士大佬+1。
  20. 摸鱼小新。研究生。
  21. 卑微小李,浙江大学大佬。
  22. 娜娜,初中认识的外校同学。
  23. 小吴**,学长,期间和他交流比较多。
  24. 陆YH,同学,一起做项目,一起打ACM。
  25. 蔡CH,学弟,比较正能量。

尾语

做一个善良的人,为群众谋幸福。

本文同步地址:
https://github.com/lizhimins/dailylife/blob/master/job.md

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值