前言
先报一下身份,笔者的师弟小民同学。小民同学应届校招从事服务端开发,参加校招面试以来,共面四个公司的服务端开发岗位:
- 抖音,IES互娱
- 腾讯,PCG 应用宝数据中台
- 阿里,新零售供应链
- 美团,到店事业部
目前为止,除了阿里还在等交叉,其他均已收到 offer,硬核技术实力。小民说自己是个技术渣,这是个要求很高(有点装 X)的同学。
本篇文章与大家分享一下面试经历,希望能对参与一线互联网大厂面试的同学有些帮助。
腾讯 PCG 应用宝数据中台
PCG 感觉疯狂招人,面试难度忽高忽低,面试形式也很多样,腾讯视频zoom牛客网都有,比较随意。
腾讯三面 20min 算法题+一个基础问题面试就结束了……一度以为自己直接挂了,体验很差。
准备的话操作系统计算机网络多看看。如果会 C++ 多准备下,面试腾讯问题不大。
腾讯一面
- 项目讲了20分钟,问你做了什么,项目细节、你的成长之类的
- Java锁 synchronized volatile
- 快排如何变为稳定的
- 排行榜如何实现
- 如何查排行榜第2000个人的信息
- java游戏服务器 如何通信
- 算法coding,反转链表
腾讯二面
- 工厂模式 场景
- hashmap treemap
- 数据库索引 不用二叉树原因是因为 二叉树可能会变为O(n)
- 数据库如何加快 查询 :cache 索引 ,分表分库,
- 网络粘包
- 网络两次握手不可以?
- Kafka水位(high watermark)
- ArrayList 和 LinkedList 遍历操作效率比较?ArrayList更快 操作系统预读
腾讯三面
-
算法:带父节点的二叉树 中序遍历查找的上一个节点?
zookeeper如何体现AP
抖音,IES互娱
字节面试效率是最高的,一下午一面二面连着面试,之后隔两天就三面。每次面试HR都可以当天晚上给出面试结果,效率极高,给HR小姐姐送爱心~
面试准备,基础点到为止,只要不答得很差就没事。主要还是算法,基本上每轮两个算法题,白板写代码,要运行的那种,还是挺有压力。
抖音后台一面(50min)
- 线程池 堵塞队列为什么要用堵塞的
- 一个线程在内存中如何存储
- volicate ->内存重排序到底怎么避免的……
- http 握手的 wait time
- 访问一个 url 发生了什么
- dns 是什么 原理
- 跳表 和平衡树区别
- 平衡树的种类
- 计算题:扑克牌两张王的概率
- 手写代码:合并N个链表 -> 优化为 log(n) -> null 判断 -> 不允许修改数据结构怎么实现
抖音后台二面(60min)
-
微服务注册中心原理
-
注册服务怎么判断上线下线
-
如果一个服务版本升级了 其他服务没升级怎么办
-
为什么要使用spring cloud
-
jvm参数 为什么要配置-> 8G内存的机器 java进程- 最大配置多少
-
策略模式 如何解藕 -> 项目中如何使用的
-
redis 持久化
-
redis 主从复制
-
算法题一
判断一个IP是否在国内。 输入:数据库中有几十万的国内IP段 (start_ip, end_ip)一个待验证的IP 输出:YES or NO
算法题二
用户在线波峰计算。
输入: 用户日志(time, user_id, login | logout)
输出:同时在线人数的峰值, 峰段(峰值的90%) eg (19:50到22:10, 峰值3亿,最低2.7亿)
抖音后台三面
没啥技术问题,领导约谈人生,职业规划、打算之类的。
阿里,新零售供应链
阿里面试难度最高了,基础每个知识点会问到你直到答不出来为止。时间也是最长的,基本上每次面试都 50min+,面试官问的问题很细节,发现你有含糊其辞的会详细问,基础一定要复习好,还要多看看源码。
面试流程还很长,一周一面,整个流程下来很累,笔者至今还在等交叉面。
阿里一面
- mysql B+ B区别
- mysql 隔离级别 -> MVCC如何保证的 -> 间隙锁怎么使用的
- mysql hash索引?
- redis 为什么快-> 系统设计的时候如何优化的
- jenkins 如何用的
- 策略模式 不同策略怎么转化的
- Spring AOP如何实现的 -> 你项目中如何捕获aop异常 以及记录日志的
- java 枚举类型是否可以继承 (final)? 注解是否可以继承?
- java内存结构
- 对象创建过程
- 类加载器 -> 双亲委派-> ClassLoad find load的区别(和面向对象有关系)-> JDBC 加载机制 -> 面向对象的原则
- 滑动窗口 -> 客户端和服务器端分别有哪些区域(已确认 传输未确认 未传输)
- volitale 怎么搞
阿里二面
-
实习的工作?有什么感觉有难度的地方?和团队其他人怎么协调的?
-
实习之后有哪些成长?
-
业务可以改进的点?
-
有没有博客?开源项目?
-
未来三面职业规划?
-
看了看我大三的面试记录?问了一下当时面试挂掉的原因?我说算法当时不行,顺便问了下我今年的笔试情况
-
常用的语言?python和java比较
-
最近在看什么书?
-
技术:HTTPS 和HTTP区别是什么? HTTPS 客户端服务器怎么交互的?
阿里三面
- 项目:介绍 难点 实现细节 和二面差不多
- 项目的平行对比……我们组的项目和平行项目(hadoop spark)相比 优势?
- eureka源码 Hystrix源码
- 分布式锁实现方式?
- zk的原理 源码
- Spring cloud/jdk设计模式 项目中的设计模式
- 序列化方式
- 最近在看什么书? 平时怎么学习的
美团-到店事业部
美团面试难度一般,基本上在问一些基础知识,多准备基础知识就可以。
美团一面
- MVCC 在读方面有什么用途
- Future的缺陷 CompletionService 在依赖任务之间是如何实现的
- Tomcat框架的 selevet
- 算法稳定性的实际作用
- http 协议是什么 POST请求字段
- 算法:第 K大的元素
- 略去一些基础的问题,比较简单...
美团二面
- 算法1:第一个从n个数字的数组中等概率的取出m个数字
- 算法2:后缀树找最长重复的字符串
- 算法3:反转最后K个节点
- http 请求 api 超时如何实现的(定时器有关)
- mysql 索引 orderby 之后的字段要不要加进去 -> 以及 mysql orderby如何实现
- 操作系统两个进程写共享内存中一个位置 会不会出现不一致(和分页分段有关)
- 略去一些基础的问题,比较简单...
十万字面经(点击此处获取文档完整版)
目录
笔记内容
基础篇
JVM篇
多线程&并发篇
Spring篇
MyBatis篇
SpringBoot篇
MySQL篇
Dubbo篇
Nginx篇
MQ篇
数据结构与算法篇
Linux篇
Zookeeper篇
Redis篇
分布式篇
网络篇
设计模式
maven篇
ElasticSearch篇
tomcat篇
Git篇
软实力篇
面试突击手册
目录
部分内容展示