当前位置: 首页 > 面试经验 >

麦当劳java面经(全站首篇)

优质
小牛编辑
133浏览
2023-03-28

麦当劳java面经(全站首篇)

base:南京。

面试官有点吊,我感觉他啥都知道,全栈大佬

1.问项目,哪些业务怎么实现?mybaticsPlus底层实现?除了mybatisPlus还有什么技术?(答了ORM,jdbc,还有几个技术实在忘了,下来查了一下,原来是hibernate,jpa)

怎么实现分页?你自己手写咋实现?(我说先全查出来再弄)那数据量很大咋办?(我说额能可以用mysql语句来做?感觉没答好)

2.常用的索引结构?项目里怎么根据具体情景来创建索引?你是怎么实现的?(答了b树索引,具体问我怎么创建,我说根据主键创建的,感觉答错了呜呜呜呜)

3.比较express框架和KOA框架(根据自己理解说的)

4.问java基础:hashmap的理解,底层实现,红黑树什么时候退化成链表?(啥时候退化,这个真不知道,答了基本的hashmap实现逻辑)还有什么避免hash冲突的方法?比如开放寻址类的知道吗?(我答了线性探查和平方探查,都是很基础的。。。这个地方过会callback了)那开放类寻址在java语言当中哪里有用到吗?

hashset了解吗?(我答了set的特性),和hashmap有什么关系?(忘了继承关系,面试官提醒才想起来)

5.反问concurrenthashmap的线程安全是怎么实现的?(我真不知道,提到了voletile,话锋转到线程)

6.解释一下voletile使用流程和理解?底层怎么保证数据可见性?(有点嘛,说了锁)

7.还知道啥手段吗?(我答了synchronized 并解释了一通)synchronized java底层怎么实现?(我还是说了锁,真没了解过)

8.既然说到锁,java的一些锁你了解多少?(我说不咋了解,然后又说了ReentrantLock,是手动锁,需要我们自己加锁和释放,否则会导致死锁)

9.那threadlocal你知道吗?(我说用过,解释并且复述了我在业务中的使用场景,面试官向我解答了当时问我开放探查是threadlocal用到了开放探查)

如何创建线程池呢?线程池的配置你会怎么配置呢?(我答了一下中心思想是要按具体情况来看)那io十分频繁的情况下怎么配置?(我答了不需要创建很多,达到io设备能响应的bar就行)还知道其他配置参数吗?(我有点忘了,妈的)

10.开始考jvm:说下jvm的理解?(我说了一达通,最后提到了堆)

11.说下类加载机制?知道java底层代码怎么实现类加载的吗?(我解释了下双亲加载机制,并说没咋了解源码实现,然后说了一些要做的事情)

12.GC了解吗?先解释下。

13.GC的垃圾回收算法有哪些?(我说了标记复制,其他有点想不起来了,然后提到如何判断应该被回收?)

14.你刚说的可达性分析算法是啥?具体解释下(我说了下看当前对象是否被根对象直接或间接引用)那只要有一次就会被回收吗(这里我犹豫了,说应该不是,,,忘了)

15.分代回收过程说下(我说了半天,感觉表述不是很清楚,面试官有帮我解释了一遍,并说from和to不是严格1:1)

16.到这里我已经有点绷不住了,时间好久啊。。。

17.用过mysql是吧,再解释下mysql的索引(callback了)

18.用过redis是吧,解释下redis的过期是怎么实现的?(这,我只是用过,我咋知道咋实现的。。。我瞎编好了)说一下redis可以用来干啥?(答了缓存和持久化存储)

19.说一下常用的docker命令?(我说了一堆,创建镜像,跑容器之类的),知道k8s吗(我答只知道是很牛的部署集群反方案,其他没仔细了解)

20.nginx配置有没有遇到啥问题?(我答了反向代理,允许最大连接数啥的的东西)

21.来聊聊spring吧,先解释AOP和IOC(这个还行,我觉得我解释到位了)你用过aop干啥?(我说解决通用业务逻辑,打日志忘了,他妈的,气死我)

挺硬核的,真的,应该是知识点最密集的一次面试

 类似资料: