快手一面凉
1、HashMap为什么不是线程安全的?为什么不是?
追:什么情况下会导致并发修改异常?
假如有成千上百万条数据,内存空间无限大,怎么快速的往HashMap中插入数据?
2、自己实现一个java.lang.String行不行?
追:那重写ClassLoader呢?
3、select a from table where b = ? and (c = ? or d =?)怎么建立索引?
4、你执行sql它会立马告诉你sql资源被占用或者死锁,它这种是怎么探测的?
5、zookeeper满足CAP中的哪两个?答:CP 问:它能保证一致性吗?
过半选举中主机宕机了,数据会丢吗?
6、Redis的CAP模型满足哪两个?为什么?
追:什么情况下会导致并发修改异常?
假如有成千上百万条数据,内存空间无限大,怎么快速的往HashMap中插入数据?
2、自己实现一个java.lang.String行不行?
追:那重写ClassLoader呢?
3、select a from table where b = ? and (c = ? or d =?)怎么建立索引?
4、你执行sql它会立马告诉你sql资源被占用或者死锁,它这种是怎么探测的?
5、zookeeper满足CAP中的哪两个?答:CP 问:它能保证一致性吗?
过半选举中主机宕机了,数据会丢吗?
6、Redis的CAP模型满足哪两个?为什么?
全部评论
说说自己拙见都是基于jdk1.8版本
1.HashMap没有应付线程安全的机制
1.2 多线程情况下导致并发修改:具体以下这样put的过程会导致数据覆盖,resize中可能触发树化会导致死锁
1.3 假如很多数据快速插入:1.我们一开始就给HashMap设置size
1.3 如果允许使用多线程可以利用ConcurrentMap也是设置size
1.4 如果key明确知道某一个类似例如int 可以考虑使用Netty里面的intObjectMap
好难感觉
2.String是final类,不行。实现ClassLoader接口,属于应用程序类加载器,用于加载指定路径下的类,但不能用于加载String(k可以用双亲委派说明这点)
你这面试题和我之前面试快手的基本上一样,可以看我之前发的
woc,好难啊,我直接寄掉
4.维持一个图数据结构,一个事务代表一个节点,如果事务A等待事务B持有的资源,就会在等待图中添加一条从A指向B的边。循环检测图是否含有环(死锁)
第三题就是建立一个b索引吗,因为c,d 用不到,所以用不到索引覆盖,a直接排除,就算建立(b.c.d)联合索引,也只是走b索引,c d只能用来索引下推用,但是用内存的代价解决一个索引下推,不值得吧😂 所以,我的理解是只是建立一个b
没有手撕么
没有手撕吗
来试试微众银行不,扫码选择意向岗位,填图片上码免筛选,详情点击https://www.nowcoder.com/share/jump/85127301693231654506
第一题和第二题的最后一问就不会了,也太难了吧
第3题是cb和db么
为啥第三题不考虑 a 啊,这样不是可以避免回表吗
好怪的面试题
m
感谢分享,好难啊
m
相关推荐
10-24 11:10
山西大学 Java 点赞 评论 收藏
分享
11-01 19:50
安徽农业大学 Java 点赞 评论 收藏
分享