9 每一日面

字节跳动

很荣幸字节跳动一路走到了四面,不管是运气还是实力,都好好准备接下来的面试吧,加油

编程

  1. 判断字符串B是否是字符串A的子串
  2. 数据结构中的桶排序、平衡二叉树
  3. .手撕代码:机器人跳跃(牛客原题)
  4. 手撕代码:逆时针打印矩阵(剑指offer改)
  5. 合并两个有序链表,空间复杂度O(1);
  6. DP最长回文串;
  7. 给两个1T的文件在2g ram的内存中找出相同项。
  8. 给一个有向图,判断有向图中是否有环,如果有环,环的数量是多少?
  9. 给一个大小为n的数组,寻找比k小的最大数的位置。
  10. 1.最长回文子串
  11. 地图上有若干个点,怎样得到某个点到达某个点的所有的换乘路线 ? 是否是联通,如果不连通怎么处理
  12. 给你一个字符串,字符串当中是一段c语言的代码和注释,注释只有/** /这样的可以嵌套,不包含// 请返回去除所有注释的代码 如果代码当中的/*/*可以不完全匹配如何告知出现错误
  13. 写了一个程序,有个小球,球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10 次落地时,共经过多少米?第 10 次反弹多高?
  14. 写代码:火车售票系统是早7点-晚23点进行网上售票,写一个程序判断是否可以进行网上买票
  15. 讲一下二叉搜索树,写节点的删除代码
  16. 最大连续子序列和
  17. 代码:实现lru,不会哦临时想了一种lgn的实现,面试官不满意
  18. 写一个最小堆建堆,分析复杂度
  19. 多个串,将含有相同字母的串放到同一个集合,返回集合向量 讲思路
  20. 编程:36进制加法(忘记处理最高位的进位,面试官提醒了一下)
  21. 在一亿个数中找出最大的10个数,在一亿个数中找出中间的10个数
  22. 编程:将0-n的整数放到一个长度为n的数组中,找出缺失的那个数
  23. 编程:36进制加法(又来?)
  24. 题目:n条直线可以将空间划分为多少个区域

面试题

  1. TCP 和UDP

  2. 进程和线程

  3. 设计模式

  4. MySQL索引的数据结构

  5. 进程间的通信方式

  6. 设计一个存储海量评论的结构,要求大量数据的写入,可以随意翻页?

  7. 熟悉计算机和网络原理,熟悉操作系统原理,对存储、队列、计算、集群管理中的一项或多项有深入的理解和认识;

  8. 常用的排序算法的复杂度,写快排;

  9. Java的JVM的内存布局,垃圾回收的实现,回收器分几部分,都有什么作用;

  10. 项目大体阐述下,用了哪些技术、设计模式,最大的感受是什么;十分钟实现用过的观察者模式、工厂模式;

  11. TCP四次挥手讲下?为什么有TIME_WAIT? TCP比UDP多消耗哪些系统资源?

    A(FIN_WAIT_1) -> B(CLOSE_WAIT) FIN=1,seq = u

    A(FIN_WAIT_2)<-B ACK=1, seq=v,ack=u+1;

    A <-B(LAST_ACK) FIN=1,seq = w,ack=u+1;

    A(TIME_WAIT) ACK=1 ,seq=u+1,ack=w+1;

    TIME_WAIT 阶段

    要确定主动断开连接的一端的ACK信息成功发送到对方

    如果有很多的CLOSE_WAIT 是因为什么原因

    • 被动要求关闭的机器收到对方关闭连接的FIN报文,在第一次ACK应答后马上进入CLOSE_WAIT状态。 这种状态其实是在等待关闭,并且通知应用程序发送剩余数据,处理现场信息,关闭相关资源。
  12. 多进程上下文切换讲下?

  13. 讲一下同步,异步,阻塞,非阻塞,多路IO复用?

  14. 讲下epoll和select的区别?

    epoll跟select都能提供多路I/O复用的解决方案

  15. epoll的触发方式 水平触发和边沿触发说一说

  16. http复用连接 如何区分请求?

  17. tcp的重排序的细节是什么 如果传输的数据很大是如何重排序的

  18. .tcp是如何保证稳定传输的

  19. 给你一个2G的电脑 10G的文本 文本有1k行的字符串,要求输出所有互为逆序的字符串的组合–哈希

  20. 上下文切换的全过程讲了十分钟

  21. mysql引擎,事务,隔离级别,索引的实现,不同引擎索引的区别,剩下的数据库问题的名词没听说过,不会哦

  22. i++是否原子操作,锁的底层实现讲了十分钟

  23. ioc是怎样实现的

  24. aop实现日志之类的功能应该使用什么样的技术(我没太明白,理解为设计模式)

  25. 怎么实现ThreadLocal

  26. CAS,是原子操作吗,问我如果比较之后相等,准备写的时候被改了怎么办(我说好像确实存在这个问题,后来查了一下底层可以保证原子性)

  27. 逻辑地址—(分段硬件)»> 线型地址 — (分页硬件)»> 物理地址 的过程,虚拟内存的实现

  28. TIME_WAIT状态

  29. java中的垃圾回收策略

  30. 怎么解决内存碎片问题

  31. 为什么以4开头的http状态码是客户端的问题,以5开头的是服务端的问题???

  32. LeetCode 76.

  33. 作者:DerekDeng https://www.nowcoder.com/discuss/217361来源:牛客网

    系统收到网络数据交付给应用程序的整个过程(从网卡说起,面试官说我对底层了解的挺深)

    UDP发送100个字节,对方的应用程序只recv了90个字节,剩下的10个字节怎么处理(没太明白正常情况下为什么会剩10个字节,跟面试官讨论了半天,他说这个问题太刁钻就过了)

    TCP的传输速率受什么影响(先扯了硬件,再扯了Nagle算法,面试官说知道这个不错,最后扯数据分片,面试官说这个没关系就过了)

    TCP发送消息如果对方不接收,我们这边会有什么情况发生(扯了应用层相关的,其实面试官只是为了引导我回答TCP的传输速率与接收窗口有关)

    TCP的拥塞控制

    TCP的滑动窗口

    TCP的超时时间计算

    手撕跳台阶(剑指offer原题……)

    手撕N个“(”和N个“)”的排列组合(就是有重复数据的全排列,不需要括号匹配)

提问

  1. 该部门的主要业务和主要技术栈

  2. 对应届生的要求?

  3. 参加创业类活动所获得的的奖励,和其他的一些专业的兴趣爱好是否会成为您选择人才的加分项

HR面试

面经汇总:https://www.nowcoder.com/discuss/240413?type=post&order=time&pos=&page=0

https://www.cnblogs.com/zkfopen/p/11215315.html

https://www.nowcoder.com/discuss/153849?type=post&order=time&pos=&page=3

https://blog.csdn.net/ELI_CJ/article/details/51793477

https://www.nowcoder.com/discuss/153849

https://www.nowcoder.com/discuss/217361