掌阅科技二面
10.24 掌阅科技二面
全程1h左右,问的问题还是很有水平的,比较偏底层。
自我介绍;
为什么研究生期间做研究和投递的岗位差别这么大?
在校期间有没有参加大型的竞赛或者比赛?
面向对象的特点了解吗?
为什么Java不支持多继承?
接口和抽象类的区别?
泛型实现的原理知道吗?
HashMap的扩容机制介绍下?
什么情况下会触发扩容?
ConcurrentHashMap怎么保证线程安全的?
Synchronized底层原理知道吗?
怎么知道设置唯一的Owner呢?
乐观锁和悲观锁知道吗?
说说操作系统的内存管理机制?
为什么要有虚拟地址?
分段机制和分页机制有什么优缺点?
Redis的持久化机制了解吗?
RDB底层具体是怎么进行持久化的呢?流程是什么样的?
导致MySQL的索引失效情况有哪些?
怎么知道哪些索引失效呢?
系统设计题:现在有个需求,给多个应用做一个中台签到系统,支持每日签到、补签能力。同时,不同应用可能有不同算法统计连签次数,如: 本周连签天数、本月连签天数、1年签到天数等个性化需求。
如何设计这些功能?用什么来做?数据库怎么设计?可以用什么设计模式?具体如何实现签到统计?如何避免重复签到?如何统计用户连续签到次数?
手撕代码:含有重复元素集合的全排列;
反问环节。