当前位置: 首页 > 面试经验 >

23秋招-顺丰科技前端二面-面经

优质
小牛编辑
149浏览
2023-03-28

23秋招-顺丰科技前端二面-面经

时间:9 月 16 日

时长:30 min 左右

base:深圳

并没有问项目相关的,而是从一个八股开始循序渐进,然后 GG。


  1. 为什么选择前端?(老生常谈的问题)

  2. 输入 URL 到页面显示的过程;

  3. TCP 三次握手的过程;

  4. 现在有一个 HTML 文件,其中有 13 个 JS 请求,每个 JS 请求耗时 1 s,请问所有的 JS 文件请求完,一共需要多少时间

    • 这里应该分情况讨论,首先确定请求是 HTTP1.1 还是 HTTP2,然后确定这 13 个请求是否在同一个域名下,这样的话就有 4 中情况。
      • HTTP1.1 + 同一域名:浏览器对统一域名有并发 TCP 连接数量限制,一般是 6~8 个,Chrome 的限制是 6 个。HTTP 1.1 只能顺序处理多个请求,于是总的时间就是 6 + 6 + 1 = 13 s(6 个 TCP 连接顺序处理请求 )
      • HTTP2 + 同一域名:HTTP2 可以多路复用,一个 TCP 连接可以并发地处理多个 HTTP 请求(理论上一个 TCP 连接能处理的 HTTP 请求是无上限的)。总的时间 = 1 s。
      • HTTP1.1 + 不同域名:每个域名限制只能有 6 个 TCP 连接,总的时间 = 1 s。
      • HTTP2 + 不同域名:1s。
  5. 在一个 HTML 文件内,有一个 1000 次的for 循环,每次循环会改变 DOM 元素的值,比如用 innerHTML 更改。执行过程中,页面上是如何变化的?

    • 第一个选项:页面从 1 , 2, 3,... ,1000 变化;

    • 第二个选项:页面从 1, 3,6, 9,..., 1000 变化,并且页面有卡顿;(我选的这个)

    • 第三个选项:页面直接显示 1000(√)

      然后面试官开始问,知道事件循环吗。这应该是面试官的提示了,但是我没有 get 到。DOM的更改好像浏览器针对同一个 DOM 节点有优化,会等到更改完了才渲染。但是 DOM 内容的修改应该也是一个宏任务吧,这里不太确定,有知道的大佬说一下。

  6. 每个 IP 地址段对应一个地名,比如 1.0.0,0 ~ 2.0.0.0 对应南京,现在有很多这样的 IP地址段。给定一个 IP 地址,判断它的属地。怎么实现。

    • 我的思路是把这些 IP 地址段存储为一个 map,然后遍历 map 查找。但没有说清楚 map 怎样存储 IP地址段;面试官说复杂度太高了,怎么优化,我说用二分查找,然后 G 了,map 怎么二分查找。只得投降。
    • 应该先确定如何根据 IP 地址判断出城市,然后再选择合适的数据结构存储,再确定算法。

参考

  • https://fe-toplion.github.io/blog/interview/question/08.html
  • https://juejin.cn/post/6929791675967471623

又是答得稀烂的一场面试,面试官都建议我下来好好复盘。唉。。。

#23届秋招笔面经##顺丰科技##前端面经#
 类似资料: