补两个小厂java社招面经 metaapp 和 日志易
这两个小公司面经很少,补一波丰富一下牛客的题库😄。
Metaapp java后端
笔试:
很多人吐槽的是这个笔试,因为我当时还在国外,所以不是现场做的,体验还可以。
都是java八股,三道算法,是否平衡树,二维矩阵查找数字,遍历一个类似map嵌套map的数据结构。
一面:
问项目:
User的表是怎么设计的呢?
分页的问题处理
分页的问题处理
八股:
redis底层,redis的事务,redis的雪崩和缓存击穿。
spring的事件和监听器,以及目的(就是解耦)
AOP
spring的自动装载bean
mysql索引和联合索引,索引需要注意的地方
volatile,我提到了java jmm里的主存和缓存(工作内存)。然后他就问了句缓存是每一个thread都有一个还是每一个cpu core有一个(这个问的比较深,不过也就是计算机基础,非科班的吃亏了,背八股被识破了🤣)
spring的事件和监听器,以及目的(就是解耦)
AOP
spring的自动装载bean
mysql索引和联合索引,索引需要注意的地方
volatile,我提到了java jmm里的主存和缓存(工作内存)。然后他就问了句缓存是每一个thread都有一个还是每一个cpu core有一个(这个问的比较深,不过也就是计算机基础,非科班的吃亏了,背八股被识破了🤣)
二面:
很短。
collection
hashmap
cas,aba问题
日志易java后端:
一面:
上来一道算法
剑指offer原题,找数组中出现次数超过1/2的数字。
follow up: 如果现在把1/2改成1/3要怎么做?
八股:
hashcode
jvm
了解进程调度算法么
项目中用到并发了么,怎么用的?
讲讲项目的难点
jvm
了解进程调度算法么
项目中用到并发了么,怎么用的?
讲讲项目的难点
二面:
还是一道算法
要求处理一个类似日志的字符串。
把 k=1,v=10;k=2,v=20;
变成一个hashmap的键值对: {1: 10, 2: 20} 但是要处理很多例外情况,比如:
k=1,;k=2,v=20; ===> {2: 20}
k;k=2,v=20; ===> {2:20}
k=1,v=;k=2,v="k=3,v=30;"; ===> {2: "k=3,v=30;"}
还要考虑转义符等等,具体记不清了,有点恶心。反正也是我菜,写了三十多分钟没有把所有case处理好,或者他想让我用正则表达式?但是这个不会。。。
八股:
oom讲一讲
如果系统cpu炸了怎么办
如果系统cpu太低了,同时业务失败了怎么办
这日志易二面的题是我面过最难的了,这种字符串处理很蛋疼,不知道有没有大佬指点一二,如何攻破字符串的这种怪题?
所以多投简历多面试,运气很重要。