8.19日 60min
原本以为一面过了,上周四面完后没有立即挂,以为有戏,结果今天一看还是挂了!当时面试官说回去排个名看看,结果今天我就无了,唉,还是自己太菜了!
1.自我介绍
2.项目介绍,你做这个项目的背景是什么?
(1)其中在介绍一个kaggle比赛的时候,顺便问了一下面试官,是不是因为这个比赛,别你们部门捞起来了,面试官还说不是不是,说:你还是很优秀的。
(2)自己练手的项目,背景xxx,然后根据视频自己练手用的。
3.hashmap的put过程
4.你是怎么理解线程安全的?
记得在深入理解java虚拟机里最后几章里有说过这个“线程安全”的概念,可能每个人的理解不一样吧。
5.hashmap的扩容机制说一下。
6.保证线程安全的方式有哪些?
我这里是根据深入理解java虚拟机课本来回答的,主要分为三部分吧。
(1)互斥同步(2)非阻塞同步 (3)无同步方案
7.cas说一下?
8.乐观锁和悲观锁的区别
9.syn是可重入锁,可重入锁解决了什么问题?
【这个问题说实话之前自己没有深入思考过,导致一时间不知道怎么回答,最后反问环节的时候面试官说:在平时的学习中一定要多加入一些自己的思考!】
10.线程池说一下?
11.出了一个线程池的场景题。
【需要加深对线程池的理解】
12.数组和链表的区别?
13.说说mysql、redis和mongodb的区别?
主要是简历写了这几个数据库,但是说实话用的多的还是mysql和redis,mongodb用的不多,了解的也不是很多。
14.mysql数据库底层用的是什么数据结构?
15.b+树和b树的区别
16.数据库的mvcc
17.说说tcp,udp和http的区别
18.tcp如何实现可靠传输的?
19.大数据的了解哪些?
20.springboot和springcloud说一下你的理解?
21.你比赛里面的数据如果过大,在本地如何处理?
22.docker说说看?
【emm,虽然自己没用,但是之前做项目的时候,视频里说的是用docker进行拉去redis和rabbitmq的,但是我的虚拟机死活用不了docker,然后面试官还问没有想办法解决吗?我说想办法了,但是最终还是没有解决。】
总结:面试官主要问的还是后端方面的,大数据问的我都不会,就没问,最后反问环节,面试官给的建议一针见血吧!总体来说还是有收获的。
讨论:想问一下大家对于可重入锁的理解?java中为什么会有这种可重入锁的存在呢?
全部评论
(4) 回帖