LZ为双非本科,一段两个月小厂实习经历,力扣650道题左右,直接准备秋招,提前批成功oc,复盘还愿一下~
项目的话烂大街RPC了0.0
7.28一面 45min
1.自我介绍
2.讲一下HashMap的put方法
3.讲一下HashMap的扩容过程
4.讲一下你自定义协议怎么解决粘包问题的?
5.LeetCode129题(简单回溯)
6.mysql的索引结构
7.为什么用B+树呢?
8.having的作用
9.聚簇索引、非聚簇索引
10.聚簇索引比非聚簇索引的优点
11.线程池的七大参数
12.线程池的运行过程
13.mysql的四个隔离级别,应用场景
14.如何在可重复读隔离级别解决幻读问题
15.怎么使用间隙锁?(for update)
16.dubbo的负载均衡策略
17.java的动态代理
18.Spring哪里用到了动态代理?
19.CGlib动态代理说一下
20.MQ如何保证消息不会丢失?
总结:
整体来说一面偏八股,不会有太多很难的点,整体下来挺顺畅的吧
7.30二面 80min
因为我是RPC项目,所以二面前面闲聊后,主要针对项目进行深挖
1.自我介绍
2.平时是如何学习的?
3.看过哪些经典的书籍?
4.挑一个你的项目中最有深度的来讲一下
5.Nacos和Zookeeper的区别
6.如何考虑选择哪一个?
7.Zookeeper是如何发现服务下线的?
8.那我要是断电了怎么办?(没太明白,面试官说断电了机器还会在跑,不会关闭)
9.实现的负载均衡策略
10.Protobuf底层有了解过吗?
11.还有一些零碎的问题,不太记得了
12.索引的底层
13.你是如何选择什么字段来做索引的?
14.假如现在有三个普通索引a,b,c,我sql查询where a = xx and b = xx and c == xx会怎么样?(索引合并)
15.那如果不想索引合并呢?(直接(a,b,c)联合索引)
16.隔离级别
17.MVCC
18.写道sql,挺简单的,大概写出来给他看一下就ok了,不用运行
19.算法题:圆环上有10个点,编号为0~9。从0点出发,每次可以逆时针和顺时针走一步,问走n步回到0点共有多少种走法。(dfs和dp都可以)
总结:
整体来说二面就偏项目了,问了挺久的RPC,之后加上一些数据库的问题,然后两道题做完就结束了。
8.10 三面 30min
1.你们软工和计科有什么差别吗?
2.那软件项目管理,软件需求分析这些课都有上吧?
3.讲讲软件项目管理过程?还记得吗?(巴拉巴拉一下需求获取、需求分析、概要设计、详细设计什么什么的)
4.打过什么比赛?
5.你做的项目大概是咋样的呢?
6.前后端怎么对接的?
7.项目除了页面的一些功能还有做什么其他功能吗?
8.做过压测吗?
9.MQ的工作流程
10.MQ的底层
11.MQ如何防止消息不丢失?
12.MQ消息大量堆积怎么办?
13.未来打算学哪一块的知识呢?
14.做个题:类似力扣第三题,只不过是数组不是字符,简单滑窗
总结:
三面大部分在聊天,后面扯一扯MQ上面去了,然后就做了个题,做完之后就结束了,全程挺愉快的。
8.16 收到意向书 没有HR面
因为是提前批,该部门没有HR面,三面完就直接意向书了
复盘
- 1.首先基础部分需要完整地答出来,并且可以将细一点拖面试时间,降低面试官提问到你不会的点去。
- 2.要善于引导面试官问你所擅长的点,这样子在你熟悉的范围你可以多答很久。
- 3.遇到不会的问题记得多和面试官讨论,然后尽量回答一些沾边的技术点,不要就支支吾吾说不懂了。
讨论
给出一些高频的问题吧~
1.MQ的一系列问题,有必要整理一下,如消息如何不丢失,消息重复消费,消息大量堆积,MQ的底层原理可以梳理一下。
2.RPC框架的话经常要和dubbo、grpc比较,可以准备一下,同时一些服务注册、发现的问题也挺经常问,还有序列化框架的底层等等。
3.字节的话算法题一定要做出来哈codeTop多刷点高频题吧
全部评论
(34) 回帖