有待理解的知识点

一、关于java基础
1、一致性hash
(1)提出一致性hash是为了解决什么问题?
(2)hash的性能评估指标(单调性、容错性、可扩展性)
2、java锁机制
(1)synchronized关键字、volatile关键字
(2)java.util.concurrent.locks包
(3)synchronized和ReentrantLock(重入锁)的区别,synchronized用在代码块、方法、静态方法时锁的都是什么
3、ConcurrentHashMap的原理,都用的是哪种锁,segment有没可能增大(不会,只会增大每个segment中的entry数组)
4、进程和线程的区别
5、AtomicInteger实现原理(CAS自旋)
6、值传递和引用传递
7、java有没有多继承,接口和抽象类区别
8、jdk和jre的区别
9、讲述一下并发编程与多线程
10、String、StringBuffer和StringBuilder的区别
11、int在32位和64位机中的区别
12、java中基本类型的位数
13、static关键字的用法
14、java的访问权限,成员的可见性
15、HashmMap、HashTable、ConcurrentHashMap的区别与联系
16、char能否存储汉字?
17、Spring转成int型,能不能转,怎么转
18、HashMap和HashSet的实现原理
19、动态代理的原理
20、包装类型和基本数据类型的比较问题(例如:Integer能否 == int类型变量,能否做比较,什么时候不能做比较)
21、ArrayList和LinkedList的比较
22、单例模式都有什么,是否线程安全,怎么改进(从synchronized到双重检验锁到枚举)
23、java线程安全都体现在哪些方面,如何维护线程安全?
24、反射机制中可以获取private成员的值吗(没有set和get函数)
25、写一段synchronized可能发生死锁的代码
26、死锁的条件,摒弃死锁的条件有哪些?

二、关于java虚拟机
1、垃圾回收算法,为什么要分代处理
2、GC停顿原因,如何降低停顿
3、JVM如何调优,参数怎么调
4、如何使用工具分析jvm状态
5、类加载机制
6、什么是java虚拟机,对jvm的理解
7、jvm内存模型,各个区的作用
8、堆的作用
9、JVM调试工具
10、堆和栈的区别
11、内存溢出了怎么办
12、什么时候会栈溢出

三、关于java后台
1、介绍Spring的IOC和AOP,分别是如何实现的(反射机制和动态代理)
2、redis如何处理分布式服务器并发造成的不一致,如果数据库不提供隔离呢?
3、解释MySQL索引、b树,为啥不用平衡二叉树或红黑树(磁盘与内存的存储方式不同)
4、Spring的bean加载机制,bean生成的具体步骤
5、IOC的注入方式(set注入、构造方法注入)
6、Spring何时创建applicationContext(web.xml中使用listener)
7、listener是监听哪个事件
8、SpringMVC的具体流程
9、Spring的特性,SpringMVC中控制器的名字及其配置
10、Spring用到哪些设计模式?
11、controller怎么处理的请求

四、关于数据结构与算法
1、01矩阵,相邻的1是一个岛屿,找出所有岛屿数(递归解决)
2、2个鸡蛋,100高的楼,最少的次数测出鸡蛋碎掉的临界层,没碎的鸡蛋可以反复使用
3、大量字符串找出数量最多的K个,考虑内存放得下和放不下两种情况
4、跳表的基本原理
5、最长回文子串
6、找到数组中最多的那个数,除了hashset还有没有其他方法(蒙特卡罗法)
7、输入合法的数字字符串,输出货币字符(就是每隔三位加逗号,考虑边界处理)
8、有1-10 10个数,和一个数sum,计算用10个数连加得到sum有多少种系数组合(递归)
9、如何实现高效的同步链表
10、层次遍历二叉树,偶数层输出,且逆序输出
11、给定一个字符串,写出所有可能的全排列(递归)
12、5亿条淘宝交易订单,输出销售次数最多的100个商品。
13、给出年月日,如何求出这天是这年的第几天?
14、64个马有8个跑道,没有计时工具,最少需要多少次跑,可以找到跑的最快的那个马,如果换成找到最快的四匹呢?
15、给一个函数,返回0和1,概率为p和1-p,请你实现一个函数,使得返回0和1的概率一样
16、10亿个url,每个url大小小于56B,要求去重,内存4G
17、吧一个BST转化成一个双向链表
18、手写一个全排列
19、B数和B+数
20、介绍一下hash,怎么解决hash冲突
21、给一个文件,找出其中每个单词的个数
22、1000瓶药有1瓶有毒,如果小白鼠服用有毒的药,则24小时后死亡。现在需设计一种策略,使用尽可能少的小白鼠,在24小时内找出有毒的药。(将串行的二分法并行使用)

五、关于Http协议
1、TCP和UDP的区别,分别适用于哪些场景?
2、三次握手四次握手,是否可以两次握手,为何要四次握手?
3、get和post的区别
4、Http协议相关

六、关于Linux
1、epoll、epollh和select的区别
2、Linux下的一些指令,怎么查看进程,按照内存大小,CPU占用排序等

七、关于数据库
1、数据库四个范式的区别,在设计数据库的时候怎么考量,详细设计数据库的步骤。
2、MySQL和Oracle的区别,如何选择?
3、SQL中replace和update的区别
4、事务管理acid
5、数据库的索引有什么用,带来的问题是什么?
6、数据库查询时间优化
7、

八、设计模式
1、单例模式
2、生产者模式、消费者模式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值