首页 > 字节跳动提前批——飞书一面(?)经
头像
一柯
编辑于 2020-07-24 09:45
+ 关注

字节跳动提前批——飞书一面(?)经

一句话总结:很深入、用面试官的话来说:我想知道你对我提出的问题的想法
用时:1个小时8分钟
备注:回答没有我写的那么直……

一、自我介绍+项目交流(有点儿深入)
二、基础
  1. 语言
  • C++和java的区别
我说了取消多重继承、垃圾回收巴拉巴拉,其实还有别的,比如跨平台性等等
  • 垃圾回收的具体机制
并不会,然后就没问了
2. 计网
  • 问:tcp出来几十年了,肯定有点跟不上现在的发展了,你有什么改进的方案吗
答:听到这个问题,蒙了一下……然后面试官有提示,最后就只是说了慢启动、拥塞控制、快速重传、快速回复这些机制,他又说从你可以从这些方向去思考,我:并不会
  • 问:在局域网中,执行ping+一个公网地址,网络层及以下会发生什么
答:这个地方他提示了:icmp协议(要求回答具体执行机制),网关和路由器(要求回答具体发挥了什么作用),什么叫相邻结点,mac地址和ip地址的变化,包是如何发送的网关的(我???)
  • 问:看你有做过web项目,http了解吗
  • 答:了解一点
  • 问:知道http2.0
  • 答:只知道https
  • 问:知道http3.0吗
  • 答:不知道
  • 问:hhtps的CA机构有什么用
  • 答:互相信任,中间机构
  • 问:不要它行吗
  • 答:(不清楚)
  • 问:https为什么同时使用对称密文和非对称密文
  • 答:(有了解,但是不是很深入,就没答上来)
  • 问:session和cookie有什么用,不要cookie行不行、不要session行不行
  • 答:……
  • 问:hh听过sesioncookie(???)吗
  • 答:没有……
  • 然后就没问了……因为的确答不上来

3. 数据库
  • 问:解释第二范式、以及引入第二范式的用途
  • 答:对不起不记得了
  • mysql相关:为什么要加上索引
  • 回答:因为可以提升检索速率
  • 问:问什么可以提速
  • 答:采用的数据结构(hash、b+等),决定了比顺序查询速度会快很多
  • 问:b+树有什么特点
  • 答:多路平衡、叶节点存储数据、叶节点连接
  • 问:是不是用b树也可以
  • 答:回答了它们的区别,并且指出了b+树在范围查询的优势
  • 问:是不是只有范围查询
  • 答:肯定不止,但是不清楚了(嘶……)
4. Linux操作系统(回答的也很凉)
  • 问:如何手动销毁一个进程
  • 答:exit?但具体不知道
  • 问:提示:kill -9 pid
  • 答:不知道
  • 问:提示:敲出这行命令之后,进程如何响应这个指令的呢
  • 答:回收分配的资源,销毁pcb
  • 问:提示:刚刚那个问题有暗示你,往进程间通信去思考
  • 答:进程间通信有好几种方法,管道、消息、(打断)
  • 问:我知道这些你们肯定都知道,我想知道的是对我刚刚的问题,他是怎么通信的
  • 答:这个就得知道是那种通信方法ya
  • 问:提示,有kill -9,就可能有-1 -2 -3,你可以往这个方向去思考
  • 答:那就是信号了,不同的数字代表不同的讯息
  • 又问:开辟一个进程的时候,会分配什么
  • 答:内核空间开辟pcb,用户空间分配空间
  • 问:pcb有什么用
  • 答:是对一个程序进入系统开始运行的表示,是一个数据结构,存储运行时的状态信息
  • 问:pcb里面存储了些什么
  • 答:pid、消息队列头、打开文件列表投等等……
  • 问:内存空间又存了什么
  • 答:寄存器、堆栈、数据等
  • 问:pcb和内存空间这些数据由关联吗
  • 答:有是肯定有,但是具体不知道
  • 又问:好,就了解这么多,或者还有一个问题,你可以思考看会不会:组合shell命令,把一些进程一起删掉
  • 答:不会,没学过shell(面试官心里肯定你怎么什么都并不会呜呜呜呜)
  • 问:软链接和硬链接这个你可能知道
  • 答:我真不知道,不记得了……
  • 补充:好像有问java程序,操作系统内部是如何标识它是java的、也可能不是这个问题……总之就是不会

三、算法
一个超大(几亿行数据)的日志文件,记录昨天的日活跃用户登录登出情况,每行三个信息:user_id, 登入时间轴(XXXs),登出时间轴(XXXs)(备注:uerid唯一、即当天该用户不会重复登录)
求两个值:一天内的同时在线人数峰值;这个峰值的活跃时长(即峰值的最大持续时间)

答:开辟一个大数组,每个时间段内的人数+1
问:时间复杂度
答:O(n)(n指文件的行数)
问:数组的访问不耗费时间吗
答:要……
问:所以应该是O(n*m)  (m指数组的大小),所以是有改进的空间的
问:提示:知道这一秒的在线人数,下一秒的登入人数,下一秒的登出人数是不是就可以知道下一秒的在线人数,可以往这个方向去思考
答:就跟他讲了,然后就开始写
第一问挺好写,但是第二问,我的答案,只能求出峰值的第一个连续值,不能求出 最大连续峰值(其实这个题是个动态规划,求数组中的连续最大值)
问:好,就先了解这么多……

四、总结
大致就是上面那么多,面试官人挺好的,并不咄咄逼人,会给提示,但是考察的问题也很刨根究底,对于基础课程的准备要更深入理解,算法题说不上多难,但是还是要多刷题……
祝各位看官面试顺利~

更多模拟面试

全部评论

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

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐