欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

京东1、2 轮面试总结

程序员文章站 2022-07-10 20:58:05
大家好,我是方圆目录1. Java中什么是值传递什么是引用传递?2. Java中有什么数据类型?3. ArrayList 和 LinkedList 有啥区别4. 知道HashSet吗?5. ArrayList 和 HashSet 有什么区别?6. 什么时候用Set什么时候用List?7. String、StringBuffer、StringBuilder 的区别8. 什么时候用上面三者?9. 说说Spring IOC?10. @Autowired 和 @Resource有什么区别?11. 如果代码中写....

大家好,我是方圆


1. Java中什么是值传递什么是引用传递?

基本数据类型是值传递,对象作为参数传递是引用传递

2. Java中有什么数据类型?

基本数据类型:byte、short、int、long、char、boolean、float、double
引用数据类型:类、接口、String、数组,集合

3. ArrayList 和 LinkedList 有啥区别

ArrayList底层是数组,查询快增删慢,能扩容
LinkedList底层是链表,查找慢增删快,不需要进行扩容

4. 知道HashSet吗?

HashSet底层封装的是HashMap,它其中存储的值是不允许重复的

5. ArrayList 和 HashSet 有什么区别?

前者底层是数组,其中的元素是有序且能够重复的
后者底层是HashMap,其中的元素不能重复且无序

6. 什么时候用Set什么时候用List?

需要重复并且要通过索引能够访问的时候使用ArrayList
set的话,要求元素不重复的时候使用

7. String、StringBuffer、StringBuilder 的区别

String被final关键字修饰,它是不可以改变的
StringBuffer可以改变,它是线程安全的
StringBuilder也可以修改,它是线程不安全的

8. 什么时候用上面三者?

String类型一般用作key值使用,比如HashMap中的key,它自己是不可以改变的
StringBuffer和StringBuilder在字符串需要改变的时候用,但是如果要保证线程安全的话用StringBuffer,否则就使用StringBuilder

9. 说说Spring IOC?

控制翻转,就是新建bean实例的时候不再使用new关键字,而是通过容器对bean进行管理,使用依赖注入的方法来实现

10. @Autowired 和 @Resource有什么区别?

@Resource默认是通过byName进行装配的,也支持byType装配,它也可以指定注入的bean的名称
@Autowired默认是byType装配,如果需要通过byName装配的话,可以再加上@Qualifier注解,指定bean的名字

11. 如果代码中写了@Autowired但是实际上不想让他装载,应该怎么办?

不注册bean,然后将@Autowired其中required属性改为false

12. Spring 单例有什么好处和坏处?

好处:保证只存在一个实例,节省内存,而且方便垃圾回收
坏处:在多线程下使用可能会不安全

13. Mybatis 中 # 和 $ 有啥区别?

#{}是占位符,能够进行预编译处理,能够防止sql注入的问题
${}是字符串连接符,不能防止sql注入问题,可能会导致sql语句逻辑改变

14. 什么是 Spring AOP?

面向切面编程,能够实现程序的横向扩展,降低耦合,提高可维护性


1. JVM的垃圾收集算法

复制算法,标记清除算法,标记整理算法

2. 红黑树产生的背景和应用

因为平衡二叉树查找比较高效,但是删除的话效率比较低,红黑出的出现弥补了它的这种缺点,它能实现高效的添加和删除,应用的话,在JDK1.8的时候,在HashMap中引入了红黑树

3. 查看端口是否被占用用什么命令?怎么查看端口的 TCP 连接呢?

lsof -i:端口号
netstat -tunlp 查看tcp和udp先关的进程

本文地址:https://blog.csdn.net/qq_46225886/article/details/107472849

相关标签: # 面经