前言

先报一下身份,笔者的师弟小民同学。小民同学应届校招从事服务端开发,参加校招面试以来,共面四个公司的服务端开发岗位:

  • 抖音,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篇

1
1

Redis篇

`
`

分布式篇

`
`

网络篇


`
`

设计模式


maven篇



ElasticSearch篇


tomcat篇



Git篇


软实力篇


面试突击手册
目录


部分内容展示