快手前端实习面经

一面

算法题

  1. 返回倒数第k个节点(用了两种方法,没实现最优解)
  2. 用两个栈实现队列

Vue

  1. Vue的生命周期
  2. 父子、兄弟组件传值
  3. 讲一讲Vuex,为什么使用Vuex
  4. 自己提到了用Event Bus的思想来实现Vuex,面试官就多问了一下并表示赞同
  5. 讲一讲slot

浏览器原理

  1. 讲一讲事件队列,包括宏任务微任务
  2. 宏任务有什么,微任务有什么

渲染方式

  1. CSR和SSR是什么
  2. 各自的优缺点

    • 客户端渲染速度和服务端性能要求
    • SEO上的区别

网络

  1. Cookie、localStorage、sessionStorage
  2. 强缓存、协商缓存

    • 我讲了HTTP1.0和HTTP1.1不同的缓存请求头响应头,HTTP1.1相比HTTP1.0缓存上的优势

JavaScript

  1. 讲讲有几种基本类型
  2. Symbol有什么使用场景

    • 答了自己在手写call、apply的时候用到了

一面的面试官比较满意,面试结束5分钟后约了我下午第二面

本来想推几天,结果HR小姐姐骗(没错真的骗了我)我说只是聊一聊不面技术

二面

一上来招呼都不给我打丢了两道算法题。。。说好的只是聊一聊呢?只能一脸懵逼地读题

算法题

  1. 链表反转(卒。。。)
  2. 字符串大小写的排列组合(卒。。。)

Vue

  1. 双向绑定(只讲了Vue2.0,忘记讲Vue3.0的了)
  2. 如何判断应该渲染更新哪个DOM(只讲了diff算法)
  3. diff算法是怎么实现的(卒。。。)

操作系统

  1. 进程与线程的关系(只答了1:n的关系)
  2. 为什么要有进程和线程之分,有什么优缺点,什么时候应该开进程什么时候开线程(卒。。。)

网络

  1. 强缓存、协商缓存
  2. TCP三次握手四次挥手(讲的太多面试官问我讲完了吗。。。)

其他

  1. 问了我实习期能给多长
  2. 让我进行自我介绍

最后

感觉自己第二面面的很差劲,但是面试官还是说我答得都还可以

但是自己几斤几两还是知道的,现在处于抱着希望忐忑不安的状态

坐等通知。。。

打电话给HR才给我查结果,说是二面面试官给我挂了