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

快手前端面试经验

优质
小牛编辑
79浏览
2023-06-12

快手前端面试经验

第一次面试大厂,没有经验,虽然面前看了两天的面经,但是还是败给了当初被我抛弃的算法(大一下退出算法跑去开发)

一面(60min):

1.自我介绍

2.在平常开发中遇到过哪些问题?怎么解决的?

3.sso单点登录怎么实现的?

4.离职原因?

5.整个软件开发的流程是怎样的?

6.set和map的区别

7.object和map的区别

8.了解promise.all,promise.race吗

9.手撕promise.all

10.了解过哪些排序方法?

11.写一下你最熟悉的排序方法

12.讲一下从浏览器输入url,点击回车后发生了什么

13.TCP协议和UDP协议的区别

14.反问

好好好,看了三天的链表反转,队列、栈二叉树的公共祖先......唯独没看排序(虽然但是排序这么简单的问题我没写出来)

这次估计悬了整个一下两道代码题都没答完整,可能是内心有点紧张吧,回头想了下也不算很难的内容,感觉这次错过了真的太可惜了

把两道代码题在复盘一下吧:

const promiseAll = (promises) => {
    return new Promise((res,rej)=>{
        let resArr = []
        for (const promise of promises) {
            promise.then(val=>{
                resArr.push(val)
                if(resArr.length === promises.length){
                    res(resArr)
                }
            }).catch(err=>{
                rej(err)
            })
        }
    })
}

虽然但是就这么几行,居然没写出来(还是自己太菜了)

排序算法:

1.快速排序:

const quickSort = (arr) => {
  const rec = (arr) => {
    if (arr.length <= 1) { return arr; }
    const left = [];
    const right = [];
    const mid = arr[0];
    for (let i = 1; i < arr.length; i++){
      if (arr[i] < mid) {
        left.push(arr[i]);
      } else {
        right.push(arr[i]);
      }
    }
    return [...rec(left), mid, ...rec(right)]
  }
  return res(arr)
};

还要好好刷题,刷题太少了

#我的求职思考#
 类似资料: