9 每一日面
字节跳动
很荣幸字节跳动一路走到了四面,不管是运气还是实力,都好好准备接下来的面试吧,加油
编程
- 判断字符串B是否是字符串A的子串
- 数据结构中的桶排序、平衡二叉树
- .手撕代码:机器人跳跃(牛客原题)
- 手撕代码:逆时针打印矩阵(剑指offer改)
- 合并两个有序链表,空间复杂度O(1);
- DP最长回文串;
- 给两个1T的文件在2g ram的内存中找出相同项。
- 给一个有向图,判断有向图中是否有环,如果有环,环的数量是多少?
- 给一个大小为n的数组,寻找比k小的最大数的位置。
- 1.最长回文子串
- 地图上有若干个点,怎样得到某个点到达某个点的所有的换乘路线 ? 是否是联通,如果不连通怎么处理
- 给你一个字符串,字符串当中是一段c语言的代码和注释,注释只有/** /这样的可以嵌套,不包含// 请返回去除所有注释的代码 如果代码当中的/*和/*可以不完全匹配如何告知出现错误
- 写了一个程序,有个小球,球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10 次落地时,共经过多少米?第 10 次反弹多高?
- 写代码:火车售票系统是早7点-晚23点进行网上售票,写一个程序判断是否可以进行网上买票
- 讲一下二叉搜索树,写节点的删除代码
- 最大连续子序列和
- 代码:实现lru,不会哦临时想了一种lgn的实现,面试官不满意
- 写一个最小堆建堆,分析复杂度
- 多个串,将含有相同字母的串放到同一个集合,返回集合向量 讲思路
- 编程:36进制加法(忘记处理最高位的进位,面试官提醒了一下)
- 在一亿个数中找出最大的10个数,在一亿个数中找出中间的10个数
- 编程:将0-n的整数放到一个长度为n的数组中,找出缺失的那个数
- 编程:36进制加法(又来?)
- 题目:n条直线可以将空间划分为多少个区域
面试题
-
TCP 和UDP
-
进程和线程
-
设计模式
-
MySQL索引的数据结构
-
进程间的通信方式
-
设计一个存储海量评论的结构,要求大量数据的写入,可以随意翻页?
-
熟悉计算机和网络原理,熟悉操作系统原理,对存储、队列、计算、集群管理中的一项或多项有深入的理解和认识;
-
常用的排序算法的复杂度,写快排;
-
Java的JVM的内存布局,垃圾回收的实现,回收器分几部分,都有什么作用;
-
项目大体阐述下,用了哪些技术、设计模式,最大的感受是什么;十分钟实现用过的观察者模式、工厂模式;
-
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状态。 这种状态其实是在等待关闭,并且通知应用程序发送剩余数据,处理现场信息,关闭相关资源。
-
多进程上下文切换讲下?
-
讲一下同步,异步,阻塞,非阻塞,多路IO复用?
-
讲下epoll和select的区别?
epoll跟select都能提供多路I/O复用的解决方案
-
epoll的触发方式 水平触发和边沿触发说一说
-
http复用连接 如何区分请求?
-
tcp的重排序的细节是什么 如果传输的数据很大是如何重排序的
-
.tcp是如何保证稳定传输的
-
给你一个2G的电脑 10G的文本 文本有1k行的字符串,要求输出所有互为逆序的字符串的组合–哈希
-
上下文切换的全过程讲了十分钟
-
mysql引擎,事务,隔离级别,索引的实现,不同引擎索引的区别,剩下的数据库问题的名词没听说过,不会哦
-
i++是否原子操作,锁的底层实现讲了十分钟
-
ioc是怎样实现的
-
aop实现日志之类的功能应该使用什么样的技术(我没太明白,理解为设计模式)
-
怎么实现ThreadLocal
-
CAS,是原子操作吗,问我如果比较之后相等,准备写的时候被改了怎么办(我说好像确实存在这个问题,后来查了一下底层可以保证原子性)
-
逻辑地址—(分段硬件)»> 线型地址 — (分页硬件)»> 物理地址 的过程,虚拟内存的实现
-
TIME_WAIT状态
-
java中的垃圾回收策略
-
怎么解决内存碎片问题
-
为什么以4开头的http状态码是客户端的问题,以5开头的是服务端的问题???
-
LeetCode 76.
-
作者:DerekDeng https://www.nowcoder.com/discuss/217361来源:牛客网
系统收到网络数据交付给应用程序的整个过程(从网卡说起,面试官说我对底层了解的挺深)
UDP发送100个字节,对方的应用程序只recv了90个字节,剩下的10个字节怎么处理(没太明白正常情况下为什么会剩10个字节,跟面试官讨论了半天,他说这个问题太刁钻就过了)
TCP的传输速率受什么影响(先扯了硬件,再扯了Nagle算法,面试官说知道这个不错,最后扯数据分片,面试官说这个没关系就过了)
TCP发送消息如果对方不接收,我们这边会有什么情况发生(扯了应用层相关的,其实面试官只是为了引导我回答TCP的传输速率与接收窗口有关)
TCP的拥塞控制
TCP的滑动窗口
TCP的超时时间计算
手撕跳台阶(剑指offer原题……)
手撕N个“(”和N个“)”的排列组合(就是有重复数据的全排列,不需要括号匹配)
提问
-
该部门的主要业务和主要技术栈
-
对应届生的要求?
-
参加创业类活动所获得的的奖励,和其他的一些专业的兴趣爱好是否会成为您选择人才的加分项
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