背景
楼主是20届双非本科,去年7月毕业后进入网易游戏,做游戏全栈开发。
大概是对游戏不够热爱吧,一直以来就很想转到互联网后台开发。
准备了大概三四个月的时间,包括也做了 MIT 6.824。
由于毕业不久,总体面下来的感觉就是他们还是会更侧重于基础知识的考查。
这里建议有类似想法的同学,一定要趁毕业不久,积累相关知识,把基础搞扎实咯,多刷 leetcode。
三四月份这个黄金时间,大厂一般都会给毕业不久的你转行机会的,一定要抓住了。
蚂蚁
蚂蚁一面 3.29 (50min)
- 自我介绍。
自己毕业后进入网易负责的事情,做过的两个项目都干了什么事。 - 职业规划。
当下的目标(靠学习追赶上互联网后端同龄人,转行互联网),中期的目标(规范自己的编码习惯、学习好的系统设计模式、不断学习新技术、自己造轮子),远期目标(能够掌握某个领域的一系列解决方案,往这个业务领域顶端冲)。 - 对加班的看法。
- 平时用什么语言开发(Python)。。我们用 Java。。。学过。
- 你用过线程池吗?讲一讲线程池的构造?讲讲自带的几个线程池,什么场景下使用哪个?自己创建的话,什么情况下使用什么参数?
- 垃圾回收有了解吗?知道哪些垃圾收集算法?
- 有大量的 Full GC,怎么排查咋回事?Full GC 会清理元空间的垃圾吗?
- MetaSpace 有了解吗?从 JDK 哪个版本开始加入的?和 1.7 的永久代比较有什么区别,为什么要换成 MetaSpace?
- 一个 4GB 的大文件,保存的全部是整数,只有 256MB 大小的内存,怎么将这个文件进行排序?
- 设计一个缓存系统。
- 有什么想问的?
- 平时自己的学习方式?
- 笔试:多叉树某个结点的全部子节点查询和删除。
蚂蚁二面 3.30 (60min)
- 最近做了什么项目?说了客户端地图迭代,性能分析和优化。
- 客户端大地图优化怎么做的?
- Profile 统计函数调用时间和次数实现原理?讲了方法入栈出栈。
- 讲一下在网易服务端做了哪些项目?讲了 MINI 期间自己写的服务端。
- 因为讲到了用 Redis 实现了注册中心,就开始疯狂问注册中心,疯狂锤!
- 你怎么用 Redis 实现的注册中心,具体存了哪些数据?心跳怎么检测的?节点挂了怎么处理的?
- 怎么样设计一个能够及时感应到结点下线,并能对上游服务作出及时的响应?
- Redis 的数据结构有了解吗?
- RedisCluster 怎么实现结点宕机重选主的?
- RedisCluster 怎么实现数据的存储以及负载均衡?
- RedisCluster slot 迁移过程中,当有请求到了旧节点会出现什么情况,如果数据不存在旧节点会给客户端发什么指令?
- 除了 Redis 还用过哪些中间件?说了 MySQL 和 Kafka(Kafka用的不是很多)。
- MySQL 索引原理?有哪些存储引擎,讲一下?索引具体怎么使用?怎么进行 SQL 语句性能分析?讲一下 Explain 展示的有哪些信息?
- 在公司做的项目有没有遇到什么技术难点?怎么解决的?
- 现在在上海?喜欢杭州还是上海?都行,杭州房子便宜。
- 刚入职没多久,为啥不想干了?职业规划
- 现在的薪资?
- 有什么想问的?技术栈和业务?学习的建议。
蚂蚁三面 4.1 (30min)
- 自我介绍
- 工作经历
- 项目组游戏的服务端架构,为什么这么设计?
- 平时怎么学习的
- 有没有女朋友
- 工作以来的自我评价
- 期望薪资
蚂蚁四面(HR) 4.2 (20min)
- 自我介绍
- 换工作原因
- 工作氛围
- 工作强度
- 最能体现你技术深度的项目?遇到哪些困难?怎么解决的?
- 遇到的挫折
- 对前面几轮面试官的看法
- 对蚂蚁的看法
- 对蚂蚁保险的看法
- 进入蚂蚁之后有什么顾虑?
- 手上几个 Offer,你会选择哪个?
- 工作地点
- 期望薪资
- 反问
拼多多
拼多多一面 3.31 (110min)
- 算法:循环链表的插入删除、判断空满、获取首尾。好久没写过很僵硬。。
- 算法:下一个更大元素。leetcode 503
- 打电话过来,优化算法,并讲一下思路。
- 介绍一下 MINI 项目,还有你那个注册中心。
- IO 多路复用的理解。
- 帧同步方案介绍一下。
- 粘包拆包你是怎么做的?
- 为什么自己在应用层实现了心跳机制?传输层的不够用吗?
- 丢帧怎么处理的?乱序怎么解决的?
- 游戏客户端差值平滑位移怎么做的?
- 帧同步服务端怎么做校验的?
- 服务端帧同步逻辑变更客户端怎么更新到?热更新。。
- 你说你实现了轮询负载均衡,那你还知道其他的负载均衡策略吗?讲一讲一致性哈希,虚拟结点有啥用?
- 有没有什么补充的?说了为了解决不同客户端精度问题写了个浮点数和定点数转化工具。
- Redis Sentinel 重选主的流程,客户端找不到新主怎么办?
- Redis 持久化?为什么要用 RDB + AOF。
- MySQL 索引讲一下?
- 根据建立的二级索引,进行频繁的分页查询可能会出现的问题?
- 看你有写过分布式数据库,讲一下客户端数据写入的整个流程?
- 为什么这么快就想换工作?
- 还有什么想了解的?
拼多多二面 4.5就很离谱hh (50min)
- 自我介绍
- 讲一下工作以来的经历
- 给我讲一下你设计的这套帧同步方案,挺感兴趣的
- 针对我的设计提出一些疑问
- 地图模块怎么优化的?
- 缓存组件怎么设计的?
- 给你的游戏里面增加 IM 系统,请给我设计一个能够保证消息不丢、不乱序的方案。面试官做过 IM 。。答的勉勉强强,面试官也算是认可了。
- 为什么要转互联网后端?说的不太好被锤了。
- 反问1:学习方面的建议
- 反问2:业务介绍
拼多多三面 4.5 (20min)
- 自我介绍
- 哪里人
- 部门组织架构介绍
- 现在的薪水
- 手上有几个 Offer,选哪个
- 期望薪资
美团
美团一面 4.1 (60min)
- 谈一下换工作的原因
- 你理解的互联网后端开发
- 介绍一下 MINI 游戏的服务端架构
- 你的注册中心怎么实现的?客户端怎么及时感知?
- 为什么使用 Redis 做注册中心?
- 如果让你自己实现一个注册中心怎么做?hh
- Raft 算法介绍
- 你的游戏匹配系统怎么做的,用了 Redis 的哪些数据结构,为什么这么用?
- Synchronized 关键字的底层实现?
- Synchronized 的优化?
- AQS、重入锁、Condition
- Spring Bean 的生命周期
- Spring IOC
- Spring 循环注入怎么解决的?
- 算法题:两个线程交替打印
- 有什么想问的?
- 手上几个 Offer,最快多久离职?
美团二面 4.8 (40min)
- 自我介绍
- 换工作原因
- 项目
- 分布式锁的实现
- 讲 MySQL 索引
- 算法:字符串转整数 leetcode 8
- 算法:K 个有序链表归并 leetcode 23
- 反问
美团三面 4.8 (40min)
- 为啥想换工作
- 算法题:课程表II leetcode 210
- 部门组织架构介绍
- 日常开发流程介绍
- 游戏同步技术介绍
- 个人优缺点
- 反问
美团四面 4.8 (20min)
- 自我介绍
- 为什么想换工作
- 手上有几个 offer
- 期望薪资
- 相比别人有哪些优点
谈的不是很顺利,不过第二天得知还是过了
字节跳动
字节一面 4.1 (50min)
- 自我介绍
- 介绍下平时用的技术栈
- 讲一下工作中遇到的困难以及怎么解决的
- MySQL 索引
- MySQL 事务、隔离级别、幻读、间隙锁
- 僵尸进程和孤儿进程
- Kill -9 的执行过程
- IO 模型的演进
- TCP 滑动窗口、拥塞避免、快重传、快恢复
- select、poll、epoll
- 进程、线程、协程
- synchronized 的底层
- 有没有在 linux 上用过 debug 工具? 没
- 算法题:全部子集。leetcode 78
- volatile 的语义
全部评论
(9) 回帖