(破冰行动)阿里本地生活一面凉面
前戏:(5min)
面试官上来首先给我介绍起自己部门的业务,大概3分钟,然后就让我做个自我介绍。
正餐:(40min)
1.聊聊华为的那个比赛吧(华为软件精英挑战赛说了下实现思路,然后他提了几个问题7-8min)
2.最近再看什么书?我:数据结构、计网、JVM
3.你学过数据结构?那就聊聊吧。
面:hash表的原理是啥?答:key-value结构的散列表。
接着又问:解决hash冲突用什么方法?我:再hash,再散列,拉链法。
面:什么是红黑树?java的hashMap问什么要用红黑树,为什么不用AVL树?它们两个有什么区别,哪个查询更快?
我:巴拉巴拉答了好久,把知道的全说了。
面:一亿个数据找出前K个大的数?答:用分治的思想,先分成n份,再从每一份里面找出前K个元素,最后再比较n*K个元素。
接着说:我要最优解,你想好了再说。我:用堆排序,构造一个大小为K的小顶堆。
问:一个无序的数组,怎么找第K大的数?
我:可以用快排或者归并。
接着问:快排和归并有啥区别?分别适用于什么场景?
我:空间复杂度不一样,归并不稳定,具体场景看具体需求。
面:什么叫稳定?
4.智力题 (1)一个天平,有8个小球,其中7个一样重,还有一个稍微重点 。怎么选出重的,最优解怎么做?答:二分。面试官:我要最优!想了一会儿,答:3 3 2
(2)时钟当走到3.15时,时针和分针的夹角是多少度?
5.聊聊数据库吧,说一下关系型数据的原理?
我:这里不是很明白面试官想问啥,面试官就说数据库设计的范式。巴拉巴拉......
面:什么要设计这三种范式,可以解决什么问题?
我:主要目的是让冗余较小,数据库设计更合理,特殊场景增加冗余可以提高查询效率。
面:数据库的乐观锁和悲观锁了解吗?
我:知道,巴拉巴拉....
面:事务有哪几种特性?
我:3种,原子性、持久性、隔离性、一致性。 面:你刚刚不是说3种吗? 答:原子性、持久性、隔离性共同来保证一致性。
接着问:Mysql的隔离性怎么实现的?
我:写用锁,读用MVCC。
6.设计模式了解吗?聊聊设计模式吧。
我:spring常用的设计模式知道,什么单例、简单工厂+配置文件、模板、适配器.......
面:你既然说到了spring,那你谈谈对Spring的认识吧。
我:spring是一个生态.......巴拉巴拉
面:为什么要学习设计模式?
答:这是前人总结的编程的一些套路........
7.谈谈你的研究方法吧,介绍一下主要做什么的,平时怎么学习的,有什么值得你骄傲的地方。
我:......,骄傲的地方就是我论文发得快,研一就发了。
8.现实生活中,你最佩服谁?为什么佩服他。
我:(我违心得说佩服我的导师)巴拉巴拉........
面:你从他身上学到了什么?
我:坚持不懈,每天保持学习.......
9.平时怎么学新的技术?
我:看帖子,B站
面试官上来首先给我介绍起自己部门的业务,大概3分钟,然后就让我做个自我介绍。
正餐:(40min)
1.聊聊华为的那个比赛吧(华为软件精英挑战赛说了下实现思路,然后他提了几个问题7-8min)
2.最近再看什么书?我:数据结构、计网、JVM
3.你学过数据结构?那就聊聊吧。
面:hash表的原理是啥?答:key-value结构的散列表。
接着又问:解决hash冲突用什么方法?我:再hash,再散列,拉链法。
面:什么是红黑树?java的hashMap问什么要用红黑树,为什么不用AVL树?它们两个有什么区别,哪个查询更快?
我:巴拉巴拉答了好久,把知道的全说了。
面:一亿个数据找出前K个大的数?答:用分治的思想,先分成n份,再从每一份里面找出前K个元素,最后再比较n*K个元素。
接着说:我要最优解,你想好了再说。我:用堆排序,构造一个大小为K的小顶堆。
问:一个无序的数组,怎么找第K大的数?
我:可以用快排或者归并。
接着问:快排和归并有啥区别?分别适用于什么场景?
我:空间复杂度不一样,归并不稳定,具体场景看具体需求。
面:什么叫稳定?
4.智力题 (1)一个天平,有8个小球,其中7个一样重,还有一个稍微重点 。怎么选出重的,最优解怎么做?答:二分。面试官:我要最优!想了一会儿,答:3 3 2
(2)时钟当走到3.15时,时针和分针的夹角是多少度?
5.聊聊数据库吧,说一下关系型数据的原理?
我:这里不是很明白面试官想问啥,面试官就说数据库设计的范式。巴拉巴拉......
面:什么要设计这三种范式,可以解决什么问题?
我:主要目的是让冗余较小,数据库设计更合理,特殊场景增加冗余可以提高查询效率。
面:数据库的乐观锁和悲观锁了解吗?
我:知道,巴拉巴拉....
面:事务有哪几种特性?
我:3种,原子性、持久性、隔离性、一致性。 面:你刚刚不是说3种吗? 答:原子性、持久性、隔离性共同来保证一致性。
接着问:Mysql的隔离性怎么实现的?
我:写用锁,读用MVCC。
6.设计模式了解吗?聊聊设计模式吧。
我:spring常用的设计模式知道,什么单例、简单工厂+配置文件、模板、适配器.......
面:你既然说到了spring,那你谈谈对Spring的认识吧。
我:spring是一个生态.......巴拉巴拉
面:为什么要学习设计模式?
答:这是前人总结的编程的一些套路........
7.谈谈你的研究方法吧,介绍一下主要做什么的,平时怎么学习的,有什么值得你骄傲的地方。
我:......,骄傲的地方就是我论文发得快,研一就发了。
8.现实生活中,你最佩服谁?为什么佩服他。
我:(我违心得说佩服我的导师)巴拉巴拉........
面:你从他身上学到了什么?
我:坚持不懈,每天保持学习.......
9.平时怎么学新的技术?
我:看帖子,B站
谢幕(5min)
面:你有什么问题想问我?
我:为了提高自己的内功,该看什么书?
面:不推荐看书,巴拉巴拉说了一大堆,也没听清楚在说啥,一直嗯嗯嗯回应。
结束。