首页 > 字节-广告-日常实习-一面-凉经
头像
凛冬将至Stack
编辑于 2020-12-05 09:55
+ 关注

字节-广告-日常实习-一面-凉经

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,分成多个表。他说要是还放不下,我说那就分库来做,他问这种场景下,如何保证上面说的安全,如何实现事务。这个我也不会,我说能不能做个中间服务器,都传到中间一起做事务,或者将一台机器的数据传到另一台,在一个机器上做事务。他说那不分不就行了,我说不分的话一个机器放不下,然后就完了。(这个算是问到点上了,我背的八股文是:水平拆分的缺点是分布式事务难以解决,没背怎么解决。)

反问

  1. 问缺陷:说对应届生不要求掌握很深,项目和设计了解的比较少。
  2. 做什么:内部app能看到的所有广告。
  3. 几面:2技术+1hr。

更多模拟面试

全部评论

(9) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

近期精华帖

热门推荐