头条Java实习生面试题

一面:

  • 先来一道算法题 最长公共子串
  • 然后问基础:
  • 线程和进程,你的理解
  • TCP和UDP区别(之前面试也问到过)
  • Spring MVC的设计模式
  • ……(还有挺多问题的,忘了,但是问得很全)
  • 最后问简历,把很多项目都很仔细地问到了
  • 还问了对图像一些基础知识的了解(jpeg、png等格式压缩方式区别)
  • 对机器学习算法的了解
  • 然后说过了

###二面

  • 先问了一个感兴趣的项目,问了大概20分钟
  • 然后4道算法题
  • 用rand3实现rand7
  • 2sum
  • 输出"abcd"的全排列
  • 在一个游戏里每秒更新一次参与者分数排序,用什么排序算法最好,为什么?
  • (其中2 3道都是LC原题)
  • 然后表示过了,安排3面

三面

  • 部门leader面试
  • 先问了一些简历上的问题,然后发散
  • 看到我有重构的经验,问我是如何做重构的,还有微服务的一些问题
  • 问了scala语言的特点,为什么要用它做大数据处理等等
  • 算法题:
  • 一个有序单链表,头尾衔接成环,在不改变大小顺序的情况下插入一个新数字(边界情况:所有节点的数字一样)

可能是三面一开始答得没有让人非常满意,或者可实习时间不足三个月有点短吧,两天后通知已挂