2020,结尾猜不到,开头也没料到会这么难!本来打算年后就跳槽的,谁知道复工难,各种延期!连跳槽涨薪计划都得跟着调整。一个明显的感受:开春全都是 “云上” 面试,没办法只能等到前不久疫情差不多结束了才去面试,没想到这次疫情是挑战也是机会,一举拿下字节跳动offer
的确,受这次影响带来了更有难度的面试筛选环节,无论是一面还是二面,都很考验平时的技术沉淀。
实在抱歉三面HR面那天太激动忘开录音了,只记得sql题算法题和一些大概的过程
一面:
•先自我介绍下
•聊项目,逆向系统是什么意思
•聊项目,逆向系统用了哪些技术
•线程池的线程数怎么确定?
•如果是IO操作为主怎么确定?
•如果计算型操作又怎么确定?
•Redis熟悉么,了解哪些数据结构?
•跳表的查询过程是怎么样的,查询和插入的时间复杂度?
•红黑树了解么,时间复杂度?
•既然两个数据结构时间复杂度都是O(logN),zset为什么不用红黑树
•说下Dubbo的原理?
•CAS了解么?
•那我们做一道题吧,数组A,2*n个元素,n个奇数、n个偶数,设计一个算法,使得数组奇数下标位置放置的都是奇数,偶数下标位置放置的都是偶数
•先说下你的思路
•下一个奇数?怎么找?
•有思路么?
•你这样时间复杂度有点高,如果要求O(N)要怎么做
•时间差不多了,先到这吧。你有什么想问我的?
二面:
•面试官和蔼很多,你先介绍下自己吧
•你对服务治理怎么理解的?
•项目中的限流怎么实现的?
•具体怎么实现的?
•如果突然很多线程同时请求令牌,有什么问题?
•怎么解决呢?
•如果不用消息队列怎么解决?
•分布式追踪的上下文是怎么存储和传递的?
•Dubbo的RpcContext是怎么传递的?
•你说的内存泄漏具体是怎么产生的?
•线程池的线程是不是必须手动remove才可以回收value?
•那你说的内存泄漏是指主线程还是线程池?
•可是主线程不是都退出了,引用的对象不应该会主动回收么?
•那你说下SpringMVC不同用户登录的信息怎么保证线程安全的?
•这个直接用ThreadLocal不就可以么,你见过SpringMVC有锁实现的代码么?
•我们聊聊mysql吧,说下索引结构
•为什么使用B+树?
•什么是索引覆盖?
•Java为什么要设计双亲委派模型?
•什么时候需要自定义类加载器?
•我们做一道题吧,手写一个对象池
•有什么想问我的么?
三面
sql题:给一个学生表有学生id,课程id,成绩共三列,找出语文成绩大于60且数学成绩小于90的学生
把上面的表行转列
算法题:让你设计一个微信发红包的api,你会怎么设计(面试官问我下一个数字(1234-->1243)这道题做过吗,我说做过,他就现场出了这道题),不能有人领到的红包里面没钱,红包数值精确到分。
HR面
大概就聊了十几分钟天,问了问对于加班的看法和入职时间,还有就是hr面的例行问题了比如你做过的最有成就感的事情之类
然后就介绍了一会儿部门主要业务
字节的面试官都很好,不会的题会给提示
因为早就有跳槽的想法疫情期间,我搜集了 N 套阿里、腾讯、美团、网易等公司的面试题,把技术点梳理成一份大而全的“Java 架构面试”笔记(实际上比预期多花了不少精力),包含知识脉络 + 分支细节,由于篇幅有限,这里以图片的形式给大家展示一部分。
我觉得这份资料尤其适合:
1.近期想跳槽,要面试的Java程序员,查漏补缺,以便尽快弥补短板;
2.想了解“一线互联网公司”最新技术要求,对比找出自身的长处和弱点所在,评估自己在现有市场上的竞争力如何;
3.做了几年Java开发,但还没形成系统的Java知识体系,缺乏清晰的提升方向和学习路径的程序员。
JVM 与性能优化知识点
一、JVM 内存区域划分
二、JVM 执行子系统
三.垃圾回收器和内存分配策略
四、编写高效优雅 Java 程序
五、性能优化
六、学习笔记.Xmind
JVM 常问高频题解析
Java 集合面试题解析
Dubbo 面试问题解析
最后祝愿即将跳槽和已经在求职的大家都能找到一份好的工作,寒冬已过,春暖花开!!!
因为篇幅原因没能全部展示我把这些做了一个整理,在此分享出来,需要的粉丝朋友们可以点击https://shimo.im/docs/wP9txRcVRyDcQWKx
网友评论