阿里二面60min
没想到一面莫名其妙就过了,分享一下二面把 😂
2.自己主要学过的知识
3.为什么要有并发
4.引入多线程有什么问题
5.什么是共享变量,内存模型了解吗
6.怎么保证线程安全
7.乐观锁和悲观锁了解吗,什么时候用
8.volitle关键字什么作用,一般什么时候用,用了就线程安全嘛?
9.让hashmap线程安全有几种方式,你更推荐用哪种方式,为什么更好?
10.hashmap内部的源码,jdk1.7和jdk1.8区别
11.hashmap扩容机制
(上面20min)
13.用的是什么线程池
14.阻塞队列的底层源码
15.如果你自己实现一个阻塞队列,你会怎么设计,为什么
16.线程和进程区别
17.Linux系统,运行Java程序是一个进程还是一个线程
18.项目有没有想过其他的想法
19.东软情况 (东软是我在实训的公司)
(20分钟)
抛开数据库,自己实现数据结构,做匹配,达到搜索效率最高 (这里我说了先按照首字母拼音分成一个大类,最后细分可以考虑树+链表的数据结构,我自己也很懵 😂)
如果用数据库,怎么根据搜索热度,显示出来 (这里虽然面试官一直在引导,但是我没答出来,应该是要我往mysql优化方面想,B+树相关之类的)
21.上面聊到了redis,是分布式的,怎么找到结点,其中的细节底层 (我说我还没有学到分布式)
22.redis数据结构
23.平时怎么学习这些知识
24.项目碰到的问题,怎么解决,怎么优化的
25.比赛竞赛有没有参加过,刷题网站
反问:
1.这次面试看法:基础还行,项目经验太少,实践经验,上Linux具体跑一跑程序
多找一些开源项目,多看看代码,多做做,自己实践#面经#