京东1、2 轮面试总结
大家好,我是
方圆
目录
- 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. 如果代码中写了@Autowired但是实际上不想让他装载,应该怎么办?
- 12. Spring 单例有什么好处和坏处?
- 13. Mybatis 中 # 和 $ 有啥区别?
- 14. 什么是 Spring AOP?
- 1. JVM的垃圾收集算法
- 2. 红黑树产生的背景和应用
- 3. 查看端口是否被占用用什么命令?怎么查看端口的 TCP 连接呢?
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
上一篇: 2020 7.14
下一篇: 23种 设计模式 简介