2020 阿里巴巴和字节跳动面试总结

2020-11-21  本文已影响0人  sha4yu0119

字节跳动

截止到11-20号,字节跳动一共面了七轮(挂->捞->挂,一般来说技术在3-5面),现在还在流程中。

字节跳动最大的特点就是每一轮最后都有笔试题。很考验选手心态,很多上周的穿山甲三面就是因为笔试影响了心态导致后面连环爆炸。

字节目前大部分均为GO,因此Java问的较少,这是和阿里最大的区别

技术类问题

  1. 最优页面算法。根据页面的使用频率来进行置换,但并无可行性。因为操作系统无法判断页面的使用频率。
  2. NRU。 分为R位和M位,启动时均为0。操作系统会定时将R位置零,区分近期使用的页面。0: R=W=0, 1: R=0 W=1, 2: R=1 W=0, 3 R=W=1。算法会随机从编号最小的非空页挑选一页淘汰。FIFO。最早进入的页放在队头,缺页中断时,移除队头,加入队尾。
  3. 二次机会。基于FIFO,不过在移除时,如R位为1,置零,加入队尾,继续查找。
  4. 时钟算法。二次算法的循环链表形式。
  5. LRU。淘汰近期未被使用的页面。要求硬件有一个64位计数器C,在每条指令执行后自增。每个页面也需要有能容纳该计数器值的域。
  6. NFU。软件模拟LRU。每次时钟中断时,计数器加上相应页面的R值。可以大致纪录页面的访问频率,被称为NFU(not frequently used)。
  7. 老化算法。对NFU进行小小修改即可模拟LRU,在每个时钟周期对计数器进行右移操作,推入R值。在缺页中断时,移除值最小的页面。
  8. 工作集算法。一个进程在过去n秒中访问到的所有页称为一个工作集。(前提:人们发现进程并不会访问所有的页。)时钟中断会定期清空R位。每个页在使用时会纪录当前时间,但扫描时,算法根据R值与时间差来判断是否需要置换。最坏的情况下,无可置换页面,则随机选择,一般选择“干净”的页面,即W=0。
  9. 工作集时钟。如R=1,则R=0,检查下一页。如R=0且已过时,再看W值,如W=1,为防止调度写磁盘引起的中断,则继续向后,直到找到一个干净页面。如W=0,说明页未修改,在磁盘中有有效副本,则申请页框,将新页面放入其中。最大移动N次,即一圈。会出现两种情况,至少调用一次写操作,那么就有干净页面存在,否则随机找一个干净页面置换,如无干净页面,将当前指向的页面写入磁盘。

项目类问题

项目类问题大致分为以下几种

  1. 外包项目以客户环境优先。
  2. 功能得满足
  3. 看有无成功生产考验为其背书
  4. 社区环境,是否仍在维护,换句话说,出了问题,可有人帮你找纸擦屁股
  5. 开发语言(小公司不用考虑,大公司会考虑自维护)

设计类问题

算法类

阿里巴巴

截止到11-20号,阿里一共面了六轮,其中支付宝给的评级是P5,但社招并无该级别的HC(简单来说就是挂了QAQ),而且支付宝的面试没有问技术,全程问项目。中间被菜鸟鸽了一波,企业事业部虐了一波,目前在走淘宝特价版的流程。

想进阿里,我觉得要么学历好(重点大学本/硕/博或者海龟),要么有开源贡献或者博客质量高,或者是走边缘部门。最重要的一点,履历得好,不能频繁跳槽,最好能有知名互联网搬砖经历(比如携程[狗头])

技术类问题

  1. System.gc();
  2. jcmd 也可以触发
  3. Young区无可用空间
  4. Young晋升至Old时无足够空间
  5. 永久代满:常量池、类数据(动态代理类)

HR类问题

上一篇 下一篇

猜你喜欢

热点阅读