-
Java中的垃圾回收
-
谈谈你在项目里面都做了什么?
-
除了代码之外你还学习了什么技术,框架
-
死锁是怎么产生的
-
线程和进程的区别
-
进程的通信方式
-
CPU的执行方式
-
代码中遇到进程阻塞,进程僵死,内存泄漏等情况怎么排查。
二面
==
-
MySQL的索引,B+树性质
-
Redis的持久化方式
-
秒杀系统的架构设计
-
除了单例模式,知道适配器模式怎么实现么,有什么用
三面
==
-
十亿个数的集合和10w个数的集合,如何求它们的交集。集合的数字不重复。
-
TCP和UDP的区别,具体使用场景呢
-
TCP四次挥手讲一下过程,最后一次ack如果客户端没收到怎么办
-
对于socket编程,accept方法是干什么的,在三次握手中属于第几次
四面
==
-
自我介绍
-
谈谈你参与过的项目,有什么收获
-
TCP和UDP的核心区别在哪
-
TCP的四次挥手,time wait状态有什么意义
-
反问
HR面
===
-
自我介绍
-
工作收获
-
离职原因
-
拿到其他offer了吗,会如何选择呢
-
排一下公司,部门,薪资和城市等因素
-
你的优缺点,如何改进
-
学生时代最成功的事
-
你的预期薪资
总结
==
准备好一些高频问题,包含技术类和非技术类
Step ①:技术类
-
看过哪些源码
-
对哪个技术比较熟悉
-
最近在学什么,为什么
-
项目有哪些地方需要改进
-
项目有哪些难点
-
怎么应对突发流量
上面的话,只是提到了面试的时候面试官的一些提问,由于篇幅的原因没有把6面阿里、5面字节的面试题以及所有这些面试题的答案分享出来。
我和王珩经过7天的时间,已经把文档整理出来了,非常详细。希望能够帮助到大家,共勉!
如果大家还有一些面试方面的技巧或者经历,可以私信分享给我,我会和王珩一起继续完善这份文档!
2021BAT互联网企业春招面经目录
PS:想要获取上述提到的算法题学习资源、源码资源和我个人的面试真题及答案,点击此处 获取完整下载路径方式!
Step ②:非技术类
-
平时怎么学习的,新知识怎么学习
-
自己有哪些优缺点
-
同事怎么评价自己
-
为什么离职
-
还有什么要问的
Step ③:介绍项目技巧
-
讲项目一定要慎重,讲太深的话,任何一个名词,面试官都有可能深入提问,导致自己答不上来;讲太浅的话,面试官会觉得项目难度不够,没兴趣听;
-
说项目的时候,说完痛点,然后说解决方案一二三,以及各自的优缺点,最后生产选了什么方案,面试时,逻辑是否清晰也是很重要的考察指标;
-
突出对业务的深刻理解;
-
用具体的数字说明情况,如qps、db数据量等;
-
把八股文穿插到项目里
Step ④:算法题技巧
-
注意代码规范,比如注释先行(先写注释再写代码)、对特殊情况的返回值写好注释(比如入参为空时返回什么)
-
善于向面试官提问,体现自己的逻辑能力,以“从父串寻找子串为例(即实现indexOf方法)”,可以提的问题有:
-
子串在父串中没有出现,返回什么
-
子串为空,返回什么
-
子串出现多次,是否只返回第一个位置
- 如果时间足够,按上面的来,如果时间不够,就不要考虑太多边界情况啥的,能过一个case就行
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!