【阿里天猫、蚂蚁、钉钉面试专题题目加答案】
不会做别着急:文末有答案以及视频讲解,架构师资料
1. junit用法,before,beforeClass,after, afterClass的执行顺序
2. 分布式锁
3. nginx的请求转发算法,如何配置根据权重转发
4. 用hashmap实现redis有什么问题(死锁,死循环,可用ConcurrentHashmap)
5. 线程的状态 ,线程的阻塞的方式
6. sleep和wait的区别
7. hashmap的底层实现
8. 一万个人抢100个红包,如何实现(不用队列),如何保证2个人不能抢到同一个红包,可用分布式锁
9. java内存模型,垃圾回收机制,不可达算法
10. 两个Integer的引用对象传给一个swap方法在方法内部交换引用,返回后,两个引用的值是否会发现变化
11. aop的底层实现,动态代理是如何动态,假如有100个对象,如何动态的为这100个对象代理
12. 是否用过maven install。 maven test。git(make install是安装本地jar包)
13. tomcat的各种配置,如何配置docBase
14. spring的bean配置的几种方式
15. web.xml的配置
16. spring的监听器。
17. zookeeper的实现机制,有缓存,如何存储注册服务的
18. IO会阻塞吗?readLine是不是阻塞的
19. 用过spring的线程池还是java的线程池?
20. 字符串的格式化方法 (20,21这两个问题问的太低级了)
21. 时间的格式化方法
22. 定时器用什么做的
23. 线程如何退出结束
24. java有哪些锁?乐观锁 悲观锁 synchronized 可重入锁 读写锁,用过reentrantlock吗?reentrantlock与synmchronized的区别
25. ThreadLocal的使用场景
26. java的内存模型,垃圾回收机制
27. 为什么线程执行要调用start而不是直接run(直接run,跟普通方法没什么区别,先调start,run才会作为一个线程方法运行)
28. qmq消息的实现机制(qmq是去哪儿网自己封装的消息队列)
29. 遍历hashmap的三种方式
30. jvm的一些命令
31. memcache和redis的区别
32. mysql的行级锁加在哪个位置
33. ConcurrentHashmap的锁是如何加的?是不是分段越多越好
34. myisam和innodb的区别(innodb是行级锁,myisam是表级锁)
35. mysql其他的性能优化方式
36. linux系统日志在哪里看
37. 如何查看网络进程
38. 统计一个整数的二进制表示中bit为1的个数
39. jvm内存模型,java内存模型 面试专题答案