前言

一直想着写面筋,结果一直拖延症发作没写,前几天蚂蚁也发offer了,今年春招找实习也差不多告了一段落了。今年我主要投的是成都这边的后台开发岗位,包括头条、腾讯、蚂蚁三家,最后都差不多拿到了offer,后面也没啥好面的厂了,想着把面试经验写出来吧,也算是做了一点小小的贡献吧。

另外我这里为大家准备了一线大厂面试资料和我原创的超硬核PDF技术文档,以及我为大家精心准备的多套大厂面试题(不断更新中),有需要的朋友可扫码下方我的VX:rxh8515 即可免费发送给您!希望大家都能找到心仪的工作!

成都头条 工程效率(offer)

去年面试了北京的头条,也拿到了offer,今年想着正好成都这边建立了头条分部,就投了成都的头条。可能是我去年有头条的面试记录,今年只是面试了两面技术面,感觉都还蛮简单的,面试了有好几天了,有一些面试的内容忘记了,就先写记得的吧。

一面

  • 编程题:判断一个链表是否是一个回文链表
  • 聚簇索引和非聚簇索引,b+树索引
  • 进程间通信方式
  • radis数据结构,zset底层实现方式
  • HTTP 状态502和504
  • tcp关闭连接过程

二面

  • HTTPS通信过程,如何交换秘钥
  • 智力题,从1走到n,可以向前和向后,第k步走k个步长,求要多少步走到结尾
  • 进程和线程的区别,如何判断是当前进程
  • 编程题:多路归并

HR面

  • 是哪儿的人
  • 看到了你去年面试了北京那边的头条,最后怎么没去,为什么要选择成都头条
  • 了解成都头条做什么的不
  • 对互联网的工作状况了解不,能够适应不
  • 以后工作想在哪儿
  • 最后说了下让我要去的话提前给她说下,好发offer

成都蚂蚁 金融核心(offer)

成都蚂蚁是在河畔上找以前的学长内推的,先是提前预面试了一面,二面说是系统开了后再面。蚂蚁的面试体验还是蛮好的,还蹭了另一个面试官的车去了高新区,面试的时候也是循序渐进,非常有耐心。二面系统开了后就马上给安排了,是右军老师给面的,循序渐进,遇到我不清楚的他也给我了很多提示,最终磕磕碰碰的回答上来了。二面后隔了一天就三面了,三面是杭州那边的电话,问的比较常规,二十多分钟就结束了。等了一周就hr面,之后就发offer了,问了一下身边的人,我应该是比较早拿到offer的。

一面

  • 线程池了解不,用的是哪一个线程池,为什么要选择这个线程池
  • 双十一这种场景如何设计,如何设计一个秒杀系统,秒杀结束后如何尽快返回结果
  • 设计一个UDP的文件传输系统,如何尽可能的快,如何尽可能占满通道
  • 集合包了解哪些,hashmap了解不,介绍一下,如果一个对象为key需要注意哪些,什么时候用到hashcode,什么时候用到equals
  • gc算法了解不,介绍一下,什么时候会有停顿
  • JVM了解不,内存如何分配,volatile语义在那些地方使用
  • 线程通信机制有哪些,什么情况下使用
  • 介绍一下最有技术含量的一个项目,画项目架构,redis中存储了哪些数据
  • 一个MySQL数据需要迁移到新库,如何设计使得服务不停顿,新来的读写请求如何处理
  • 如何写好的代码
  • 最近看了哪些书,如何学习一门新技术,什么时候看源码

二面

  • 你是什么专业,研究啥的,你的这个专业对你写代码没帮助啊
  • 用联盟链干了个啥,里面用到的技术比较清楚的是啥,多线程是开了几个线程,用来干嘛的
  • 线程的状态,wait和block的区别
  • JDK用的是那个版本
  • hashset和hashmap区别,hashmap是线程安全的么,concurrenthashmap1.7和1.8中put的操作过程
  • 2PC 3PC,2pc的时候如果有事务提交失败是趋向回滚还是趋向事务达成,回滚失败怎么办,这种会有大量的通信过程,如何解决。事务补偿如何实现
  • paxos讲一下,如何达成一致性,领袖***怎么干,投票只是投给当前最早到达的么,leader怎么发现flowerdown掉了,follower down掉怎么办,
  • 分库分表是用什么字段分的
  • Java堆大小是怎么设置的,默认是多少,那个比例你知道么
  • grpc优势在哪里呢,你说用了HTTP2,有什么优势呢,如何压力测试呢
  • 分布式锁如何实现,分布式锁要解决那些问题,分布式锁如何保证高可用
  • 看过那些源码,什么情况下会看源码

三面

  • 介绍一下你做的项目
  • 学过那些框架知道那些,分别怎么用的
  • JVM垃圾回收算法,垃圾回收有哪些算法,g1的回收算法过程,遇到过垃圾回收的问题么,怎么解决的
  • 分布式事务框架,2PC 3PC的过程,为什么2PC用的比较多,自己实现过么,对比过他们的性能不
  • 看过那些书,学到了啥
  • 最近学习的技术

HR面

  • 自我介绍
  • 在你写的这些项目中学到了什么
  • 同学对你的评价
  • 老师对你的评价
  • 做的最疯狂的事是什么
  • 如果有机会,你想做什么比较疯狂的事
  • 为什么想去蚂蚁
  • 还拿了那些offer
  • 实习时间

深圳腾讯PCG QQ(流程转到了成都)

腾讯这个也是找到一个学长内推的,学长内推了之后等了好几天都没有面试,然后几天后去看简历变灰了,问学长他说投晚了,他们招满了,让我等等有没有捞的。还以为没戏了,过了一两天好像是被深圳的一个部门捞起来了,捞起来的这个还是蛮靠谱的,至少给面试了。还是比较核心的部门,面试体验也很不错,二面面试官看我是川内的学校,还给我介绍了他是川大的,家乡也是四川,说了他为啥当时去了深圳腾讯。技术面了没过几天就是hr面了,hr介绍了这个部门还是蛮核心的,不去挺可惜的,不过最后想想还是去不了深圳了。

一面

  • 一个抢优惠券的服务设计,要怎么尽快返回结果,不能获取负载的情况下如何丢弃包,kafka在前面还是redis在前面,redis发送消息出错如何处理
  • redis hash是如何实现的,redis QPS是多少kafkaQPS是多少
  • 两个大文件,中有20亿条URL,如何找出其中相同的URL
  • Linux了解不,Linux下网络编程了解不,timewait什么时候会发生,为什么要有timewait,如何避免,如何重用timewaite链接
  • netty上面的心跳包了解不,如何实现的
  • golang gorutine了解不,协程和进程区别,协程如何调度
  • golang channel了解不,为什么要有这个
  • 项目中的分库分表用的是什么字段,如何没有落在这些字段上如何处理
  • spark了解不,hive了解不,mapreduce了解不,用来干嘛的
  • c++vector了解不,底层如何实现的
  • c++浅拷贝,深拷贝
  • kafka不要zookeeper可以不,zookeeper如何实现分布式锁,kafka的原理
  • 最后说了下他们部门是做什么的,说我进去之后可能要转语言,问我有兴趣不

二面

  • 介绍一下自己会的技术
  • tcp连接过程
  • Linux如何查看网络连接命令
  • Linux进程间通信有哪些方式,那个最快,共享内存如何防止读写冲突
  • 印象最深的项目
  • MySQL有哪些索引,实现方式是什么
  • HTTP状态码知道哪些
  • 以后的学习计划
  • 看你主要写Java,过来可能需要其他语言,你怎么看
  • 能实习的时间

HR面

  • 哪里的人,父母是干啥的,是独生子么
  • 还投了那些岗位,头条和阿里面到那一步了
  • 更想去哪儿工作
  • 你的博客怎么打不开了,上面写的什么呢
  • 那个项目最有印象
  • 不是计算机的,怎么想写代码呢
  • 平时怎么学习的
  • 计算机网络,数据结构这些知道吗
  • 最后问了想去成都还是深圳,想去成都的话QQ浏览器有岗位,都是pcg的,可以转,让转了。

成都腾讯PCG QQ浏览器(offer)

QQ浏览器一二轮在学校面试的,三轮是让去***三街主管面试,面完了后主管和另一个面试官还仔细聊了聊,还以为是hr面,最后流程转过来后hr面的。QQ浏览器面试体验也很不错,学校里去的都至少给一面了,不过感觉留成都压力好大,淘汰比太高了。

一面

  • 线程有哪几种状态,状态转换图
  • 后端有哪些编程模式,MVC了解不,有哪些缺点,如何解决这些缺点
  • tcp三次握手
  • UDP和tcp区别
  • 长连接如何建立
  • 数据库如何优化
  • 进程通信方式,这几种方式的优缺点
  • spring aop的实现方式,这种和直接new相比性能如何
  • gc了解不
  • 设计一个高考查分系统
  • 最近做了哪些项目
  • 以后工作想去哪儿
  • rpc框架有哪些,有什么优势

二面

  • Java int多少字节,char多少字节,32位和64位什么区别
  • spring IOC的特点,为什么要IOC
  • 资源增强的方式
  • 分库分表是用什么键分的,分了多少表,为什么
  • 遇到过线上问题没,如何解决的
  • redis用过么,用在哪儿了,redis有什么优势
  • redis数据和数据库的数据如何保持一致
  • 关系型数据库和非关系型数据库如何选择
  • 遇到过哪些问题,如何解决的
  • Java反射原理
  • 以后准备向那个方向发展,服务端客户端还是前端

三面

  • 你搞Java为什么没去计算机
  • 做过哪些项目
  • redis down掉怎么办
  • MySQL这种数据库和Hadoop有什么区别,定时通过业务归集也可以,为什么要hive Hadoop这种呢
  • redis这种内存数据库和mem***d这种缓存有什么区别
  • HTTP要如何实现
  • HTTP状态码 302,403表示什么意思
  • 计算机的相关知识是如何获取的
  • 前端和Android了解不,用过不,想搞什么
  • 能实习多长时间

四面

  • 哪儿的人
  • 想做后端前端还是客户端
  • 能实习多久
  • 深圳那边的面试进度如何
  • 还拿到了哪些的offer
  • 介绍了下他们做什么的(主要feed流),团队的情况,用的技术栈,问感兴趣不
  • 研三怎么安排的呢,还能来实习么

HR面

  • 哪儿的人
  • 是独生子女么
  • 想留成都还是出去呢
  • 头条和阿里到了几面了
  • 知道这边做的是什么么,有兴趣不
  • 头条是那个团队,阿里是那个团队,做的是什么,更加想去那个呢
  • 问了下他们的转正比例,她说40%到70%

总结

最后为大家准备了Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。

有需要的朋友可扫码下方我的VX:rxh8515 即可免费发送给您!希望大家都能找到心仪的工作!

作为开发人员来说,不说要求自己成为业内顶尖,但也要保证自己不被市场所淘汰,学习对于程序员来说是最基本的事情。

还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书一起免费分享给大家!