小米二面面经
没错,我应该是备胎池出来的,9.9一面的
时长:加上掉线时间大约1小时
1.项目,挑一个你觉得拿手的说一下,我说我自己想了个火车票系统就写一下,说了功能点
2.那你这个登陆密码有加密吗?数据库层面有加密吗?那你这个系统怎么优化的?噢你现在想一下大概可以怎么优化?(我说进行人流量控制),面试官说这个是最后才这样,你再想想,从后端可以怎么优化?(我说sql语句优化,加索引),嗯,那还有呢?(还有啥...我能写出来功能就不错了搞什么优化,饶了我吧哥)
3.项目过,问点基础,说一下ArrayList跟LinkedList吧,有啥区别?
4.讲一下final关键字
5.说一下int跟Integer的区别?Integer的那个缓存值能变不?(不能吧..),是可以的,记住了
6.你知道的Map有哪些?LinkedHashMap取出的顺序是啥样的?
7.并发这问一下吧,你知道什么线程安全的队列?(这块真不熟,你问我线程安全的集合多好...),讲一下AQS吧
8.你知道线程池默认用的哪种队列不?你知道SynchronizedQueue有啥不一样的地方吗?(不...不知道,底层是用Synchronized进行同步的?)不是的,你下去看看。那你说到了Synchronized,你说一下Synchronized,你说monitorenter是插在异常跟结束处的,它是两个还是一个?动态插入还是静态插入?(我天,这么深,不知道,我说我只知道两个指令是对应的,必须成对)记住了,是两个monitorexit跟一个monitorenter,我学到了...书上没写呀...
9.讲下Synchronized与ReetrantLock吧?你知道ReetrantLock是怎么实现加锁的吗?看过lock()的源码吗?(代码加的吧...阿西吧,我没看那个源码)
那你知道可重入读写锁吗?你会这个,那个就会了,but我不会
10.做个算法题吧,两两交换链表中的节点,Leetcode的题
11.你有什么问我的吗?
总结:我第一次被问到线程安全的队列,这块有点薄弱,确实不行没复习到,有的细节还是不够了解,我以为我了解的挺深的了,结果还有...
唉小米太难了,并发那块让我想起了面阿里巴巴被折磨的样子,唉,还是得继续学,加油
发面经继续攒人品
#小米##面经##校招##Java工程师#