登录

立即登录

去注册

忘记密码?

验证码登录

点击获取验证码

立即登录

去注册

注册

点击获取验证码

立即注册

找回密码

点击获取验证码

确定

全部资讯

全部资讯   / 小米社招Java开发一面面经

小米社招Java开发一面面经

2021-12-24 11:36:13

<h2 style="margin: 0pt 0pt 14pt; font-family: 宋体; font-weight: bold; font-size: 18pt; color: rgb(0, 0, 0); text-indent: 0pt; padding: 0pt; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="font-size: 12pt; font-family: Calibri;">1.</span><font face="宋体" style="font-size: 12pt;">说一下了解的</font><font face="Calibri" style="font-size: 12pt; font-family: Calibri;">Java</font><font face="宋体" style="font-size: 12pt;">数据结构有哪些(</font><font face="Calibri" style="font-size: 12pt; font-family: Calibri;">ArrayList,LinkedList,Queue,HashMap,ConcurrentHashMap,CopyOnWriteArrayList</font><font face="宋体" style="font-size: 12pt;">)</font><br></h2><p class="p" style="margin: 0pt; font-family: Calibri; font-size: 12pt; padding: 0pt;"><span style="font-size: 12pt;">2.HashMap<font face="宋体">的原理(用哈希数组)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">3.<font face="宋体">数组存的是什么,为什么要转换成红黑树,为什么不能是其他树(链表转红黑树,红黑树相对平衡,调整效率快)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">4.HashMap<font face="宋体">是否线程安全,会导致什么问题(不是,会导致更新丢失,比如</font><font face="Calibri">balabala</font><font face="宋体">)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">5.<font face="宋体">除了更新丢失,</font><font face="Calibri">HashMap</font><font face="宋体">还会造成什么问题,</font><font face="Calibri">1.7</font><font face="宋体">和</font><font face="Calibri">1.8</font><font face="宋体">的区别?(</font><font face="Calibri">1.7</font><font face="宋体">头插入会导致死循环,</font><font face="Calibri">1.8</font><font face="宋体">改用尾插法)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">6.<font face="宋体">如果要线程安全,应该用什么类(</font><font face="Calibri">ConcurrentHashMap</font><font face="宋体">)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">7.ConcurrentHashMap<font face="宋体">的实现?</font><font face="Calibri">1.7</font><font face="宋体">和</font><font face="Calibri">1.8</font><font face="宋体">都说一下。(分段锁,</font><font face="Calibri">synchronized</font><font face="宋体">,</font><font face="Calibri">CAS</font><font face="宋体">)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">8.synchronized<font face="宋体">和</font><font face="Calibri">CAS</font><font face="宋体">有什么区别,</font><font face="Calibri">synchronized</font><font face="宋体">的实现原理是什么,</font><font face="Calibri">CAS</font><font face="宋体">呢,</font><font face="Calibri">CAS</font><font face="宋体">如何解决</font><font face="Calibri">ABA</font><font face="宋体">问题(有锁,无锁。</font><font face="Calibri">monitor</font><font face="宋体">(</font><font face="Calibri">Owner</font><font face="宋体">字段,</font><font face="Calibri">EntryQ</font><font face="宋体">字段(互斥锁)),判断有无改变,版本号)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">9.synchronized<font face="宋体">和</font><font face="Calibri">Lock</font><font face="宋体">有什么区别,</font><font face="Calibri">Lock</font><font face="宋体">的实现原理是什么(</font><font face="Calibri">AQS</font><font face="宋体">,使用</font><font face="Calibri">CLH</font><font face="宋体">锁,维护一个双向队列,存储阻塞线程。每个线程一直监听前一个节点的状态,如果调用了</font><font face="Calibri">unlock</font><font face="宋体">,则停止自旋。)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">10.<font face="宋体">线程池的重要参数有哪些(</font><font face="Calibri">poolSize,corePoolSize,maximumPoolSize,ThreadFactory,RejectionHandler)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">11.RejectionHandler<font face="宋体">有哪些,具体如何操作(</font><font face="Calibri">4</font><font face="宋体">种还是</font><font face="Calibri">5</font><font face="宋体">种来着,略)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">12.<font face="宋体">线程池的线程在执行完任务会立刻回收吗?(保留</font><font face="Calibri">corePoolSize</font><font face="宋体">个核心线程)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">13.Spring<font face="宋体">的</font><font face="Calibri">IOC</font><font face="宋体">原理是什么,</font><font face="Calibri">AOP</font><font face="宋体">原理是什么,默认是哪一种代理,两个代理的区别(反射,获取配置的类和属性,然后在运行时注入依赖。代理,</font><font face="Calibri">JDK</font><font face="宋体">,</font><font face="Calibri">CGLIB</font><font face="宋体">)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">14.Spring Bean<font face="宋体">初始化有哪几种方式(忘了)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">15.Spring<font face="宋体">如何解决循环依赖的(忘了,跟他说没有复习</font><font face="Calibri">Spring</font><font face="宋体">,面试官说回去要巩固一下。答案的话应该是用三次缓存)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">16.Redis<font face="宋体">有哪些常用的数据结构,说说它们的常用场景(</font><font face="Calibri">String,Hash,List,Sorted Set, Set)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">17.Sorted Set<font face="宋体">的数据结构是什么(</font><font face="Calibri">ziplist+skiplist</font><font face="宋体">,细说了什么是</font><font face="Calibri">skiplist</font><font face="宋体">)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">18.Redis<font face="宋体">如何删除过期键(定期</font><font face="Calibri">+</font><font face="宋体">惰性)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">19.Redis<font face="宋体">如何持久化(</font><font face="Calibri">RDB+AOF</font><font face="宋体">)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">20.Redis<font face="宋体">分片有了解过吗?(说成了高可用,不会)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">21.Redis<font face="宋体">高可用,那主从同步,如何更换主节点(哨兵,监控,投票。追问:细说投票算法?不记得了)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">22.MySQL<font face="宋体">有哪些事务隔离级别,分别解决了什么问题(</font><font face="Calibri">RU</font><font face="宋体">,</font><font face="Calibri">RC</font><font face="宋体">,</font><font face="Calibri">RR</font><font face="宋体">,</font><font face="Calibri">Serial</font><font face="宋体">。。。追问什么是间隙锁,就是锁住间隙避免了幻读)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">23.MVCC<font face="宋体">如何实现的?(日志,</font><font face="Calibri">redo log</font><font face="宋体">,</font><font face="Calibri">undo log</font><font face="宋体">,</font><font face="Calibri">binlog</font><font face="宋体">)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">24.<font face="宋体">索引有哪些类型(哈希索引,</font><font face="Calibri">B</font><font face="宋体">树,</font><font face="Calibri">B+</font><font face="宋体">树,说了一下有什么区别)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">25.<font face="宋体">为什么不用范围搜索就用</font><font face="Calibri">B</font><font face="宋体">树,为什么不能用哈希索引?(应该是树可以减少磁盘的</font><font face="Calibri">IO</font><font face="宋体">消耗,但具体为什么说不出来)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">26.<font face="宋体">什么是聚簇索引,什么是非聚簇索引?(</font><font face="Calibri">InnoDB</font><font face="宋体">)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">27.<font face="宋体">说一下</font><font face="Calibri">MySQL</font><font face="宋体">的分库分表</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">28.<font face="宋体">遇到慢查询,如何解决?(</font><font face="Calibri">explain</font><font face="宋体">,索引,覆盖索引,</font><font face="Calibri">limit</font><font face="宋体">等)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">29.<font face="宋体">如果已经用到了索引,但因为数据量太大,比如几个亿,如何解决?(分治。追问:细说?加</font><font face="Calibri">redis</font><font face="宋体">缓存,分库分表)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">30.<font face="宋体">说一下</font><font face="Calibri">JVM</font><font face="宋体">的内存模型(堆,栈,</font><font face="Calibri">Program Counter</font><font face="宋体">,元空间)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">31.<font face="宋体">什么时候会触发</font><font face="Calibri">GC</font><font face="宋体">(年轻代不足以分配对象,老年代不足以分配年轻代晋升的对象)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">32.<font face="宋体">用过哪些</font><font face="Calibri">RPC</font><font face="宋体">框架,有没有看过</font><font face="Calibri">Spring Cloud</font><font face="宋体">的源码(</font><font face="Calibri">SpringCloud</font><font face="宋体">,</font><font face="Calibri">Netty</font><font face="宋体">。无)</font></span><span style="font-size: 12pt;"><br></span><span style="font-size: 12pt;">33.<font face="宋体">算法题,二叉树的层序遍历(用了迭代解法)</font></span><span style="font-size: 12pt;"><o:p></o:p></span></p>

上一篇 下一篇

热门资讯