字节跳动飞书实习 一面面经

字节跳动飞书实习 一面面经

面试官很好,面试氛围融洽,在卡壳的时候也有引导,面试顺着话题走,希望能有二面,内容如果有错欢迎指正

自我介绍

问了下专业课学习情况,自学情况。

操作系统(简历上没写)

  • 进程和线程的区别

    • 一个进程有一个或者多个线程组成,线程+系统分配的资源=进程,进程和进程之间相互独立,同一进程下的所有线程共享进程的内存空间。
  • CPU是如何调度的

    • 先来先服务算法
    • 短作业优先算法
    • 最短剩余时间算法
    • 高响应比优先算法(响应比等于(等待时间+服务时间)/ 服务时间 )
  • JS为什么是单线程的

    • JS作为浏览器的脚本语言,主要是实现用户与浏览器的交互,还有操作DOM,这决定了JS只能是单线程。因为如果JS被设计了多线程,如果多个线程同时需要对同一个结点进行操作,这时候就会有冲突的问题。

JavaScript(熟悉)

  • JS是用什么来解决单线程的问题的(情景,大量代码执行,响应时间太长,js如何解决这种问题)

    • 异步
    • Web Worker
  • 你刚刚答到了异步,异步是用什么方式实现的呢

    • 回调函数、promise、async/await
  • 你刚刚答到了回调和Promise,两者是如何实现的,有什么优势,有什么劣势,Promise又是解决什么问题的呢?

    • 讲到最开始只有回调的时候,当多层回调嵌套的时候(比如多次网络请求),代码难以阅读,可维护性降低,回调地狱
    • 然后有了Promise,Promise用then、catch、finally解决了回调地狱的问题,使得代码可维护性、可读性都得到了很好的提升

计网(熟悉)

  • 刚刚你用了http请求做例子,你来说说http1.x 和http2.0的区别

    • http2使用2进制传送,http1.x使用的文本(字符串)传送,解析速度更快了。
    • http2支持多路复用。(补充问了下:多路复用解决了什么问题?当时紧张了就没答上来,现在想想,是用长连接避免创建多个TCP连接带来的网络开销,解决了对同一域名的请求限制阻塞问题,多路复用可以实现发送多个请求,再接收响应,而http1.x只能发送一个请求等待响应后再发送下一个请求)。
    • http2支持头部压缩。
    • http2支持服务端主动推送。http1.x只能在客户端发送请求后,服务端返回内容,http2支持在客户端未请求的情况下,主动发送内容给客户端。
  • 答得不错,说一下http的请求methods吧

    • 。。。。。。
  • 讲一下GET和POST的差别

    • 挺多的,答了四五个。
  • 看你项目里用了JWT,说说看这种认证技术是为了实现什么,为什么要这么做?(无状态)

    • http是无状态的
  • 那看来你了解的不错,现在主流的是https,你来说说https是什么

    • HTTP+SSL(TLS)
  • 聊一下SSL握手的过程吧(唯一败笔,没答好,在面试官引导下答出来了,感觉不太满意)

    1. 客户端发送请求 Client Hello 向服务端传输自己支持的加密套件、SSL版本信息和一个随机生成数Random1,

    2. 服务端发送响应 Server Hello 从客户端的套件中确认一个加密方案,然后生成一个随机数Random2,将加密方案和随机数Random2返回给客户端,

    3. 服务端再发送自己的证书和公钥给客户端,

    4. 客户端接收到证书后,验证该证书的合法性,如果验证通过会取出证书中的服务端公钥,并且生成一个随机数Random3,通过公钥加密后返回给服务端,

    5. 服务端用自己的私钥解密获得Random3,此时服务器和客户端都有了三个随机数,根据Random1+Random2+Random3,还有前面确定的加密方案生成一个密钥,

    6. 后续的传输就使用该密钥进行对称加密就可以了。

Node(了解)

  • express.js、egg.js、koa的对比,你对他们了解多少(老实回答,只用过express,其他两个只是了解)
  • 洋葱模型(面试官说自己问的不好,没学过koa不该问洋葱模型)
    • 所有请求在经过中间件的时候都会执行两次,请求一次,响应一次。
    • 这种模型可以非常方便的实现后置处理逻辑。
    • Koa和egg都是洋葱模型。

React(熟悉)

  • 常用的hook
  • 用过自定义hook吗,什么场景下会用到
  • hook的优点,函数组件的优点

项目

唠家常

反问

  • 觉得我答得怎样,我觉得我的https没有答好,其他的地方呢(两个人一起笑)
  • 怎么查进度
  • 部门技术栈
#字节跳动校招##字节跳动##面试题目#
全部评论
请问面试的时候算法是手写还是在线写啊?
点赞 回复 分享
发布于 2021-11-20 22:57
请问楼主是日常实习么?
点赞 回复 分享
发布于 2021-11-17 07:29
忘记说流程时间了,一个小时左右,欢迎交流学习,欢迎指正。
点赞 回复 分享
发布于 2021-11-16 22:35

相关推荐

码农索隆:单休一个月少休息4天,一年就是48天,平时节假日,别人3天假期,单休的两天
点赞 评论 收藏
分享
能干的三文鱼刷了10...:公司可能有弄嵌入式需要会画pcb的需求,而且pcb能快速直观看出一个人某方面的实力。看看是否有面试资格。问你问题也能ai出来,pcb这东西能作假概率不高
点赞 评论 收藏
分享
见见123:简历没有啥问题,是这个社会有问题。因为你刚毕业,没有工作经历,现在企业都不要没有工作经历的。社会病了。
点赞 评论 收藏
分享
评论
3
32
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务