- 说说你负责得模块你认为比较好的地方
- 在你介绍自己项目的途中,会根据项目中所用到的中间件问你(RabbitMQ、Redis、es等等)项目中用到什么问什么
Java基础
Java基础也会问,但不会那么的基础。
- 反射:什么是反射,例如一个接口有两个实现类,如何根据业务需要,利用反射执行不同的实现类的方法(举例子 根据用户的积分多少,调用不同的实现类)
- Spring相关的一些源码知识
- 常用集合:底层是如何实现的,HashMap(问的比较多),HashMap Put的过程,发生碰撞会作什么,使用ArrayList如何保证线程安全。。。等等,***搜Java高级基础一大片。。
- 你们用Jdk几?jdk8有那些特性,Stream用过吗,能列举几个你常用的方法吗(Stream没用过,只能说明你写的代码太。。不美观了吧,太费事了吧)。Lambda表达式?可以列举几个用到Lambda表达式的方法吗
- 多线程,线程池(线程池有哪些设置参数),常用队列,拒绝策略,为什么选择他们。不同拒绝策略应用场景
- Redis:五种存储类型,分别的应用场景,为什么,缓存雪崩,缓存穿透,你们是怎么解决的(解决办法),如何保证缓存与数据库的数据一致性,过期策略,内存淘汰机都有哪些,有哪些区别,那两种持久化方式有什么区别
- 消息队列:RabbitMQ如何保证消息的幂等性,事务性,消费方消费消息的过程中出异常怎么办(ACK机制),线上你们的RabbitMQ宕机过吗,如何恢复消息的。
- MySql:表连接的区别,遇到过慢查询吗,如何解决的,索引的底层是什么,B+树与B树的区别可以简单说一下吗?如何避免索引失效,说一说你分析一条SQL的流程或者说你写完一条SQL后会怎么做(Explain)
进阶
- 数据库某张表数据量太大了,你会怎么做,首先先分表,如何根据不同的用户插入到不同的表呢(Hash取余,类似于HashMap put时的操作)
- 线程池遇到过死锁吗,你是如何解决的;synchronized 和Lock区别能简单说说吗?你们都用什么?为什么?
- 数据库的表你有没有设计过,如果要是你根据一个新的业务场景设计表,你会怎样设计(围绕3NF)
- 部署过项目吗,比如说我要把一个项目在一台服务器上开启多个,即多个端口吗,我如何指定他们(Java-Jar设置参数,别傻到说修改yml重新打包生成)
- Linux常用的命令。查看端口号的命令是什么**(常问)
- 了解过分布式吗,什么是分布式,为什么要使用分布式,常用的组件有哪些?
关于上方的问题,可以看我写的其他博客,链接如下
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
读者福利
更多笔记分享
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
[外链图片转存中…(img-eEAYf3BK-1712942105473)]