Java面试需要掌握的技术点

三大框架

  • spring ioc aop啦,创建bean的过程啦。
  • aop原理啦,动态代理啦,分为jdk跟cglib,两者区别啦。
  • springmvc执行流程啦。
  • mybaits$#区别啦以及适用场景啦。
  • 如果能看过一些源码啦,那就更会成为高光时刻。

springcloud技术栈

  • 用到了那些组件啦,各个组件是干嘛的啊,原理都是啥玩意啊,他们怎么联合使用的啊
  • Hystrix如何做熔断的啊。
  • fegin怎么进行服务调用的啊
  • 如何a调b,b调c,c调d,某个服务挂掉了如何排查啦

redis

  • 它的数据类型啦,如何用set去重啦。
  • redis的删除策略啦,如何设置过期时间啦。
  • redis如何防止雪崩,穿透啦。
  • redis持久化有哪两种啦,分别有什么用,什么场景下使用,优缺点啦
  • 如果用了集群讲一下公司的集群架构啦
  • redis如何实现分布式锁的啦。
  • 高光时刻就是redis源码部分

java基础啦

hashmap必问

  • 比如底层数据结构啊, 7 8区别啊
  • 为啥引入红黑树啊
  • 啥时候变成红黑树,啥时候变成链表,为什么是这个数字发生变化啊
  • put方法的具体过程
  • 如何计算hash值的啊
  • 如何扩容的啊
  • concurrenthashmap了解过吗?和hashtable的区别是什么啊
  • hashmap是线程安全的吗?如果想实现线程安全,要怎么做?

多线程啦

  • 什么是线程安全
  • 线程锁有哪几种啊,synchronized和lock的区别
  • CAS是什么,使用CAS会造成什么问题,如何解决啊
  • 线程池有哪几种啊,都有些什么参数啊。
  • threadlocal的使用
  • jmm模型。。。。
    多线程学习

JVM

  • JVM内存模块啊,这个要画出来哦。
  • 堆分为哪几部分,持久代为什么改为了元空间
  • 类加载的过程;双亲委派是干嘛的,如果我自己写一个string类,能不能加载进内存
  • 都有哪些垃圾回收算法和其优缺点;有哪些垃圾回收器
  • 平时是怎么对jvm进行优化的;如果频繁gc,可能的原因有哪些
  • 平时是怎么对jvm的性能进行监控的

设计模式以及算法

  • 要能手写单例代码,一般写双重检测的那个就可以了;饿汉、懒汉、双重检测是否为线程安全的,为什么;双重检测为什么是双重而不是单重
  • 一般找中高级写个单例,策略,代理,工厂就够了

算法

  • 简单的算法还是要会的啊,比如冒泡,快速,插入,
  • 还有一些数据结构相关的,比如链表倒叙之类的,说说思路啥之类的。

mysql

  • mysql主要分为3部分:索引、锁、事务
  • 索引的分类,索引创建场景,索引失效啊,聚集索引和辅助索引的区别
  • B+树和B树的区别;InnoDB和myIsam的区别啦
  • 数据库中的锁都有哪些啊
  • 事务的隔离级别,InnoDB默认是哪种啊
  • 可重复读会造成什么问题,inndb如何解决的啊
  • mvcc是啥玩意啊
  • 事务传播机制啊,什么时候@Tansactional会失效哦
  • 怎么对复杂sql进行监控和调优啊

前端

不会哦,去死吧,垃圾前端,我堂堂大后端人员凭什么搞前端。

项目

  • 挑一个最牛逼的项目,干嘛的,业务是什么,QPS是多少
  • 自己干了啥,项目难点跟解决的亮点,遇到过哪些问题,如何解决的,线上问题如何排查解决的。
  • 这些问题要提前想好,不然一下子是想不起来的,前车之鉴啊,兄弟们。。。
  • 其余的像期望薪资和最低薪资要提前想好;上下班时间,五险一金咋交,公司有没有其它福利等要问清楚哦
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。