KirutoCode 学校
APP 内打开
分享
7
2

字节-广告-北京-日常实习-1面-凉

11.30 一面 57 min

基础:


1.Java Object类方法,只说出了equals。

2.问equals怎么做得,我将了下,然后重点说了HashMap,他问hashcode是不是Object方法,

3.String、StringBuilder、Stringbuffer。

4.自己写一个String类,行不行。我说不行,一开始没想到,只是隐约记得不允许,然后说不了解,他说再好好想想,我说那我猜一下,可能跟类加载机制有关,越说越觉得对,然后把类加载机制说了一下。

5.get跟post

6.HTTP响应状态码。

7.cookie跟session区别。

8.多个服务器怎么保存session一致性,我说了用一个代理,保存所有session,然后任意连接服务器,他问还有没有方法,我说能不能想数据库主从复制一样同步一下session,他说这样破坏了服务器之间无状态啥的设计原则。(不会)

9.Exception、Error、Throwable区别,第三个不会,第二个问到底能不能被处理,我不确定了。

10.Out of memory和Stack over flow,是什么,怎么排查

11.线程池原理

12.Java 8特性,用过吗。(只知道Labmda表达式,没用过)

代码:

判断是否正确,({[这三个,我给写复杂了,一开始觉着用set放一下比较方便判断在不在,后来写起来觉得不方便,还写的很麻烦,写完之后运行了,结果不对,刚看了一会,他就说下去再看吧,时间不多了,咱再问点别的。


设计:

银行转账,a到b,会有什么问题,要怎么解决,我说了三种情况,应该差的挺多的,没准备过这种题目。


1.a的钱不够转账,上层判断一下。

2.好多人都在给b转,a通过自旋转账。

3.a减完钱,b还没加上去,宕机了,通过事务恢复。然后问Spring boot事务怎么做的,我说了下原理,他说不是问这个,我说我看过,使用一些注解,但是没用过,记不清了。

如果表太多,比如有10亿行,速度怎么样,我说非常慢,那怎么办,我说分表,说做垂直拆分和水平拆分,他说就两列,我说那就只作水平拆分,问我具体怎么分,我说用hash,对银行卡号或id做hash,分成多个表。他说要是还放不下,我说那就分库来做,他问这种场景下,如何保证上面说的安全,如何实现事务。这个我也不会,我说能不能做个中间服务器,都传到中间一起做事务,或者将一台机器的数据传到另一台,在一个机器上做事务。他说那不分不就行了,我说不分的话一个机器放不下,然后就完了。(这个算是问到点上了,我背的八股文是:水平拆分的缺点是分布式事务难以解决,没背怎么解决。)


反问:


问缺陷:说对应届生不要求掌握很深,项目和设计了解的比较少。

做什么:内部app能看到的所有广告。

几面:2技术+1hr。

发布时间:2020年12月11日
用户头像
我来说两句…
共 7 条评论
_直很有范er 湖南大学·2022届
兄弟你怎么发了好几次面经啊?都挂了吗?
2020年12月14日 回复
KirutoCode _直很有范er: 带凉后缀的就是挂了
2020年12月14日 回复
_直很有范er KirutoCode: 好吧,凉经也是分享啊,谢了老哥
2020年12月14日 回复
热心学姐Julia 西南交通大学·2022届
加油
2020年12月12日 回复
KirutoCode 热心学姐Julia: 加油!
2020年12月14日 回复
吃再多反正长得也是我的肉 毕业院校
🥲lz目前面试结果出来了吗
2020年12月11日 回复
KirutoCode 吃再多反正长得也是我的肉: 凉的意思就是,挂了_ノ乙(、ン、)_
2020年12月11日 回复