概述
分享一波在读者群,应届生大佬的校招面试经历,目前手上已经拿到了 字节意向书,蚂蚁转正offer ,大佬是我在蚂蚁认识的一位师弟,个人能力很强,职业规划很清晰,源码钻研也很深入,给大家分享一波他的字节SP面经。
楼主是周天下午4点到7点连续三面,第二天早上发的意向书,效率很快
感觉全部是怼着简历问的,八股文问的比较少,全部是基于项目 实习的基础上去问的!感觉参考价值不是特别高,还是发出来给大家看看!
一面
1、因为项目做了基于netty的rpc框架,针对这个进行展开提问
2、Reactor线程模型
3、netty怎么实现实现reactor线程模型的
4、rpc调用的时候调用远程方法像调用本地方法一样是用了什么(这里我回答了网络连接的底层,结果面试官问的代码层面的动态代理)
5、动态代理怎么实现的?有哪两种动态代理(JDK、cglib)?有什么区别?
6、IO多路复用
7、select、poll、epoll
8、由于自己简历上写了看过rocketmq源码,接下来对mq展开提问
9、rocketmq和市面上常见的mq有什么区别,都有什么优缺点
10、rocketmq事务消息底层
11、一个数组,从输入中找一个数看看在不在这里面(开放题,任何你想到的都能说):我回答了排序二分、遍历、用set、用hashmap、hashcode、用布隆过滤器。比较开放题
12、自增id有什么好处(我回答了和uuid相比,节省磁盘空间,作为聚簇索引提升查询效率)
13、select * from user where id >= 多少 order by phone 这个sql有什么问题可以优化的
14、算法题:选定一个链表,返回环的入口节点,没有则返回空节点
二面
1、怼项目(支付宝实习项目)
2、rocketmq延时消息底层实现,应用场景
3、epoll 水平触发和边缘触发
4、常见的json序列化工具有哪些?
5、看到你写netty ,知道protobuf吗?和json比有什么好处呢?
6、那你能说说dubbo是怎么实现的吗?
7、dubbo的序列化方式是什么呢?
8、微服务zookeeper、eureka、consul、nacos对比
9、zookeeper讲讲?CP还是AP?eruka呢? 服务调用需要ap还是cp?分析一下场景?
10、为什么mysql单表最多不放超过2000w行数据呢?
11、算法题:两个字符串找最长公共子串
三面
1、怼项目(商汤实习项目、数学建模项目)
2、认证、授权、熔断、限流都是怎么实现的?
3、常见的限流算法?(令牌桶等)
4、常见的限流方式?(nginx、网关)
5、JWT了解吗?
6、进程通信方式?哪种通信方式最快?
7、开发中怎么解决线程安全问题?
8、如果你在浏览器上输入一个网址返回error怎么排查?(ping对应的ip)
9、如果你ping出来的ip是128.0.0.1怎么办?(肯定是对应的浏览器缓存映射、或者本级host被修改,面试官说就是这个)
10、你前面两面还有没被问到的吗?(不知道没有,别问了)
11、算法题:两个有序数组找中位数
如果这些问题你回答不出来,那么我建议你刷一遍题库。我这里有一份 Java 源码剖析视频和滴滴、美团等****大厂的面试真题,帮助大家搞定大厂面试的必考点、高频点、加薪点,想要的同学可以 【[我的交流企鹅群(点这里】 找群主小助理即可获取!**
Java架构速成笔记涵盖内容如下:
- 专题一:扎牢基础,深入底层,面试我可造火箭(多线程与高并发+深入JMM+JVM调优案例式实战化指导+经常被问操作系统原理剖析+从底向上网络原理解读+案例式深入解析23种设计模式+设计原则水到渠成)
- 专题二:洞悉分布,明察并行,一路架构冲云霄(消息中间件+分布式)
- 专题三:高薪必问,无处可避,不如迎头直接上(深入透彻完整解析Redis+源码层面无死角解析Netty)
- 专题四:未来主流,必知必会,服务微化量绝招(RPC构建分布式+Spring Boot+Spring Cloud+Docker+k8s)
- 专题五:分布存储,高效写读,优化性能带你飞(Mysql优化+FastDFS+OpenResty)
- 专题六:团队协作,项目管理,测试开发一体化(maven+git+Jenkins+FindBugs)
- 专题七:庖丁解牛,手写源码,一步一步成大牛(JDK源码解析+Spring源码解析+MyBatis源码解析+Dubbo源码解析+Spring MVC源码解析+Netty源码解析)
专题一:扎牢基础,深入底层,面试我可造火箭
1.多线程与高并发
2.深入JMM
3.JVM调优案例式实战化指导
4.经常被问操作系统原理剖析
5.从底向上网络原理解读
6.案例式深入解析23种设计模式
7.设计原则水到渠成
专题二:洞悉分布,明察并行,一路架构冲云霄
1.消息中间件
2.分布式
专题三:高薪必问,无处可避,不如迎头直接上
1.深入透彻完整解析Redis
2.源码层面无死角解析Netty
专题四:未来主流,必知必会,服务微化量绝招
1.RPC构建分布式
2.Spring Boot
3.Spring Cloud
4.Docker
5.k8s
专题五:分布存储,高效写读,优化性能带你飞
1.Mysql优化
2.FastDFS
3.OpenResty
专题六:团队协作,项目管理,测试开发一体化
1.maven
2.git
3.Jenkins
4.FindBugs
专题七:庖丁解牛,手写源码,一步一步成大牛
1.JDK源码解析
2.Spring源码解析
3.MyBatis源码解析
4.Dubbo源码解析
5.Spring MVC源码解
6.Netty源码解析
总结
不论是技术经理还是架构师,没有绝对地说哪条路是对还是错,适合自己才是最重要。小公司的可能没有架构师这个概念,大公司的架构师职位又不是那么容易拿下。但不管怎样,不断去学习新的技术,提升自己的层次是很有必要的,无论你在哪一家公司,过硬的技术水平才能吃得开。