极客大学小马哥的 Java 项目实战营

基础题
语言
谈谈你对java语言的理解;
是否接触过其他开发语言,谈谈Java语言与其他语言的优缺点或区别;
特性
阐述下你对Java语言的三大特性的理解;
结合项目,说说你对三大特性的使用和理解;
如何看待Java中三大特性的滥用,或者时极简代码与冗余代码区别,更倾向于哪一种;
如果让你设计一个功能模块,你会从哪些方面考虑;
类是否可以多继承或多实现;
接口类与抽象类之间的区别;
设计模式
Java常用的设计模式;
项目中用到的设计模式;
Spring框架中用到的设计模式,列举几个;
类型
Java中的基础类型;
谈谈对String的理解;
如果让你重新去定义一个String类,讲讲实现方式;
变量的创建几种方式:
基本类型比较,’==’ 与 'equals’区别;
String、StringBuilder和StringBuffer之间的区别;
/**

  • 整型字面量的值在-128到127之间,那么不会new新的Integer对象,而是直接引用常量池中的Integer对象,所以f1f2的结果是true,而f3f4的结果是false.
    */
    @Test
    public void compareTest() {
    Integer num1 = 100, num2 = 100, num3 = 150, num4 = 150;
    System.out.println(num1 == num2); // true
    System.out.println(num3 == num4); // false
    }
    序列化
    谈谈你对序列化的理解;
    谈谈在项目哪些场景中使用到了序列化;
    类实现序列化时会有一个serialVersionUID,谈谈它的作用;
    多线程
    谈谈对Java多线程的理解;
    谈谈你项目中使用的多线程;
    如何保证线程安全;
    简述下ThreadLocal;
    服务中的Bean实例是单线程还是多线程;
    Redis底层实现是单线程还是多线程;
    谈谈对线程池的理解;
    排序
    简述几种排序算法和对应的复杂度;
    冒泡排序;
    快速排序,什么情况下达到最大复杂度;
    堆排序;
    插入排序;
    集合
    ArrayLIst 和 LInkList区别;
    ArrayList 和 LinkList的实现原理;
    ArrayList 和 LInkList是否是线程安全;
    ArrayList 和 LinkList的最优使用场景;
    是否了解过jdk源码,简述下Map的几种实现类;
    说说对HashMap的理解;
    HashMap底层的存储结构;
    HashTable和HashMap之间的区别;
    HashTable和HashMap中是否线程安全;
    JVM
    对象的创建是在堆还是栈里面;
    简述下GC流程;
    简述下新生代和老生代;
    新生代中各个区的作用;
    方法在栈中的调用流程;
    进阶题
    框架
    谈谈对SpringMVC的理解;
    SpringBoot与SpringMVC之间的区别;
    谈谈对SpringBoot的理解(优缺点);
    谈谈你对Dubbo框架的了解;
    Rpc调用与Http调用之间的区别;
    Dubbo服务基于什么协议调用;
    Dubbo服务的调用方式;
    zookeeper作用;
    zookeepper挂了,dubbo服务之间是否能正常调用;
    在项目开发过程中是否对dubbo进行过扩展开发;
    简述下Spring中的AOP和IOC;
    是否了解SpringCloud;
    zookeeper实现分布式锁原理;
    Redis
    redis中存储数据类型有哪些;
    讲述下redis中zSet排序的实现原理;
    如何用redis实现分布式锁;
    用redis做分布式锁时,会有什么问题,如何解决;
    redis中数据的存储结构;
    redis底层是单线程还是多线程;
    redis的性能瓶颈在哪;
    简述下I/O多路复用原理;
    简述下一致性Hash或hash环;
    针对缓存穿透、缓存雪崩和缓存击穿场景,怎么避免;
    MySQL
    MySQL的存储引擎(InnoDB和MyISAM);
    MySQL的存储引擎之间有什么区别;
    MySQL左右连接与内连接之间的区别;
    MySQL左右连接查询有什么问题;
    MySQL的存储过程;
    MySQL的存储结构,B+树实现原理,有什么优点;
    ElasticSearch
    ES中的倒排索引原理;
    分布式
    常用的分布式锁;
    协议
    说说TCP传输的三次握手四次挥手策略;
    http请求,说下其中的步骤;
    为什么说Http请求是无状态的;
    客观题
    智商题
    一根绳子对折三次剪开后,有几跟绳子?
    井盖为什么是圆的?
    思维题
    看图说话,给一张桌子,桌腿长短不一,谈谈自己的理解?
    给定一个假设,如果让你去统计这个城市的下水道井盖数量,你会采用哪些方法?
    一个岛上有三只白羊,五只黑羊,七只棕羊,不同颜色之间两两对视则会变成同一种颜色,那岛上的羊是否会变成同一种颜色?

猜你喜欢

转载自blog.csdn.net/weixin_52772147/article/details/111998922
今日推荐