总结
阿里伤透我心,疯狂复习刷题,终于喜提offer 哈哈~好啦,不闲扯了
1、JAVA面试核心知识整理(PDF):包含JVM,JAVA集合,JAVA多线程并发,JAVA基础,Spring原理,微服务,Netty与RPC,网络,日志,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算共30个章节。
2、Redis学习笔记及学习思维脑图
3、数据面试必备20题+数据库性能优化的21个最佳实践
-
2. 分布式锁
-
3. nginx的请求转发算法,如何配置根据权重转发
-
4. 用hashmap实现redis有什么问题(死锁,死循环,可用ConcurrentHashmap)
-
5. 线程的状态
-
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内存模型
面试专题答案
======
设计模式面试专题以及答案.pdf
================
面试必备的悲观锁与乐观锁.pdf
================
SpringCloud面试专题以及答案.pdf
=======================
Redis面试专题以及答案上.pdf
==================
Redis面试专题以及答案下.pdf
==================
SpringBoot面试专题以及答案.pdf
======================
SpringBoot面试专题以及答案.pdf
SpringBoot面试专题以及答案.pdf
SpringMvc面试专题以及答案.pdf
=====================
并发编程面试专题以及答案.pdf
================
多线程面试专题以及答案.pdf
===============
【阿里巴巴面试题目】
==========
-
40. 如何把java内存的数据全部dump出来
-
41. 如何手动触发全量回收垃圾,如何立即触发垃圾回收
-
42. hashmap如果只有一个写其他全读会出什么问题
-
43. git rebase
-
44. mongodb和hbase的区别
-
45. 如何解决并发问题
-
46. volatile的用途
-
47. java线程池(好像之前我的理解有问题)
-
48. mysql的binlog
-
49. 代理模式
-
50. mysql是如何实现事务的
-
51. 读写分离何时强制要读主库,读哪个从库是通过什么方式决定的,从库的同步mysql用的什么方式
-
52. mysql的存储引擎
-
53. mysql的默认隔离级别,其他隔离级别
-
54. 将一个链表反转(用三个指针,但是每次只发转一个)
-
55. spring Aop的实现原理,具体说说
-
56. 何时会内存泄漏,内存泄漏会抛哪些异常
-
57. 是否用过Autowire注解
-
58. spring的注入bean的方式
-
59. sql语句各种条件的执行顺序,如select, where, order by, group by
-
60. select xx from xx where xx and xx order by xx limit xx; 如何优化这个(看explain)
-
61. 四则元算写代码
-
62. 统计100G的ip文件中出现ip次数最多的100个ip
-
63. zookeeper的事物,结点,服务提供方挂了如何告知消费方
-
64. 5台服务器如何选出leader(选举算法)
-
65. 适配器和代理模式的区别
-
66. 读写锁
-
67. static加锁
-
68. 事务隔离级别
-
69. 门面模式,类图(外观模式)
-
70. mybatis如何映射表结构
-
71. 二叉树遍历
-
72. 主从复制
-
73. mysql引擎区别
-
74. 静态内部类加载到了哪个区?方法区
-
75. class文件编译后加载到了哪
-
76. web的http请求如何整体响应时间变长导致处理的请求数变少,该如何处理?用队列,当处理不了那么多http请求时将请求放到队列
-
中慢慢处理,web如何实现队列
-
77. 线程安全的单例模式
-
78. 快速排序性能考虑
-
79. volatile关键字用法
【阿里巴巴面试题目含答案】
=============
-
80. 求表的size,或做数据统计可用什么存储引擎
-
81. 读多写少可用什么引擎
-
82. 假如要统计多个表应该用什么引擎
-
83. concurrenhashmap求size是如何加锁的,如果刚求完一段后这段发生了变化该如何处理
-
84. 1000个苹果放10个篮子,怎么放,能让我拿到所有可能的个数
-
85. 可重入的读写锁,可重入是如何实现的?
-
86. 是否用过NIO
-
87. java的concurrent包用过没
-
88. sting s=new string(“abc”)分别在堆栈上新建了哪些对象
-
89. java虚拟机的区域分配,各区分别存什么
-
90. 分布式事务(JTA)
-
91. threadlocal使用时注意的问题(ThreadLocal和Synchonized都用于解决多线程并发访问。但是ThreadLocal与synchronized有本质的区别。synchronized是利用锁的机制,使变量或代码块在某一时该只能被一个线程访问。而ThreadLocal为每一个线程都提供了变量的副本,使得每个线程在某一时间访问到的并不是同一个对象,这样就隔离了多个线程对数据的数据共享。而Synchronized却正好相反,它用于在多个线程间通信时能够获得数据共享)
-
92. java有哪些容器(集合,tomcat也是一种容器)
-
93. 二分查找算法
-
94. myisam的优点,和innodb的区别
-
95. redis能存哪些类型
-
96. http协议格式,get和post的区别
-
97. 可重入锁中对应的wait和notify
-
98. redis能把内存空间交换进磁盘中吗(这个应该是可以的,但是那个面试官非跟我说不可以)
最后
手绘了下图所示的kafka知识大纲流程图(xmind文件不能上传,导出图片展现),但都可提供源文件给每位爱学习的朋友
is能把内存空间交换进磁盘中吗(这个应该是可以的,但是那个面试官非跟我说不可以)
最后
手绘了下图所示的kafka知识大纲流程图(xmind文件不能上传,导出图片展现),但都可提供源文件给每位爱学习的朋友
[外链图片转存中…(img-JxhF6xZ0-1715365009371)]