模拟面试总结4
1、synchronized和lock的区别
参考链接:
https://blog.csdn.net/qq_39521554/article/details/81130442
https://blog.csdn.net/lr131425/article/details/62037345
https://www.cnblogs.com/barrywxx/p/8519639.html
https://www.cnblogs.com/lemon-flm/p/7880119.html
2、Redis常用数据结构
String、Hash、List、Set、Zset
参考链接:
https://www.cnblogs.com/zsh-blogs/p/10630444.html
3、Java线程池
参考链接:
https://blog.csdn.net/HepBen/article/details/80088719
https://www.cnblogs.com/aaron911/p/6213808.html
4、Java8新特性
Java8 新增了非常多的特性,我们主要讨论以下几个:
-
Lambda 表达式 − Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中。
-
方法引用 − 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。
-
默认方法 − 默认方法就是一个在接口里面有了一个实现的方法。
-
新工具 − 新的编译工具,如:Nashorn引擎 jjs、 类依赖分析器jdeps。
-
Stream API −新添加的Stream API(java.util.stream) 把真正的函数式编程风格引入到Java中。
-
Date Time API − 加强对日期与时间的处理。
-
Optional 类 − Optional 类已经成为 Java 8 类库的一部分,用来解决空指针异常。
-
Nashorn, JavaScript 引擎 − Java 8提供了一个新的Nashorn javascript引擎,它允许我们在JVM上运行特定的javascript应用。
参考链接:
https://www.runoob.com/java/java8-new-features.html
https://blog.csdn.net/yitian_66/article/details/81010434
5、Java11新特性
参考链接:
https://www.ibm.com/developerworks/cn/java/the-new-features-of-Java-11/index.html
https://baijiahao.baidu.com/s?id=1612728298628306335&wfr=spider&for=pc
6、spring boot启动流程
参考链接:
http://www.cnblogs.com/trgl/p/7353782.html
https://www.cnblogs.com/xinzhao/p/5551828.html
https://segmentfault.com/a/1190000014525138
merge和rebase都是用来合并分支的。
参考链接:
https://segmentfault.com/a/1190000012897637
https://www.cnblogs.com/shuimuzhushui/p/9000253.html
https://www.cnblogs.com/xueweihan/p/5743327.html
8、TCP四次挥手
四次挥手不能像三次握手一样,三次握手可以将ACK+SYN 一起发送,ACK用于确认信息,SYN却是用来建立联机的;四次挥手中ACK是不能和FIN一起发送,ACK只是告诉客户端确认我收到了,等我将数据发送完毕之后会向其发送FIN的标志,所以四次挥手是不能够改变的。
参考链接:
https://blog.csdn.net/rememberyf/article/details/80309148
9、spring 事务隔离级别
参考链接:
https://www.cnblogs.com/zhishan/p/3195219.html
10、BIO与NIO、AIO的区别
IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。
参考链接:
https://blog.csdn.net/dreamer23/article/details/80903978
https://www.jianshu.com/p/a660c17bb9ea
http://www.imooc.com/article/265871
11、HashMap和CurrentHashMap
参考链接:
https://blog.csdn.net/JAVA_55555/article/details/84192033
https://www.jianshu.com/p/a7767e6ff2a2
https://blog.csdn.net/qq_23960265/article/details/79233702
https://www.cnblogs.com/-new/p/7496323.html
12、RPC,生产者和消费者
RPC,全称为Remote Procedure Call,即远程过程调用,它是一个计算机通信协议。它允许像调用本地服务一样调用远程服务。它可以有不同的实现方式。如RMI(远程方法调用)、Hessian、Http invoker等。另外,RPC是与语言无关的。
参考链接:
https://www.cnblogs.com/codingexperience/p/5930752.html
https://blog.csdn.net/revitalizing/article/details/63060340
https://blog.csdn.net/whzhaochao/article/details/50899761
13、垃圾回收算法
参考链接:
https://www.cnblogs.com/zsh-blogs/p/10630352.html
https://www.cnblogs.com/huajiezh/p/5769255.html
https://www.cnblogs.com/dolphin0520/p/3783345.html
14、10亿个不重复未排序的整数,给定一个int,判断是否出现过
布隆过滤器
参考链接:
https://www.cnblogs.com/zsh-blogs/p/10561141.html
https://blog.csdn.net/huntinggo/article/details/45148467
https://www.cnblogs.com/hxsyl/p/4176280.html
https://www.jianshu.com/p/69a852b0468f
https://www.cnblogs.com/zhenlingcn/p/8231786.html
15、TOP N问题
参考链接:
https://www.cnblogs.com/zsh-blogs/p/10567803.html
https://blog.csdn.net/zeb_perfect/article/details/53333606
16、未来三年职业规划