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

快手主站秋招前端

优质
小牛编辑
85浏览
2023-08-24

快手主站秋招前端

本周连着三轮面完,开泡

一面 题目不分先后

  1. 说说文档流
  2. 说说样式层叠(这东西跟层叠样式是两码事)
  3. 一个关于普通函数与箭头函数的this输出
  4. 说说flex与grid
  5. 多人文档编辑会出现什么问题,怎么解决
  6. js 基本数据类型
  7. 订阅发布
  8. 异步输出一道
  9. BFC
  10. 作用域与作用域链
  11. 闭包

很久没背八股加上问的太空了,不好回答, 反馈:你不错,有人比你还不错

二面

  1. 问React,diff, fiber, scheduler,diff优化,vue对比react,谁快
  2. 浏览器渲染,流程走一遍,blink优化怎么做,开发者可以有什么优化措施
  3. 网络相关,cookie,samesite
  4. 原型链输出一道,嘴说就行
  5. 手写,返回一个函数,定时执行,多少次, fn, repeat, interval,不难,要求两种实现方式
  6. 并发控制,题挺难的,我直接贴在这,和那种顺序index++的不是一个题目
function createRequest(maxConcurrent) {
  let activeRequests = 0;
  const requestQueue = [];

  function processQueue() {
    if (activeRequests < maxConcurrent && requestQueue.length > 0) {
      const { url, params, resolve } = requestQueue.shift();
      activeRequests++;

      // 发起请求的逻辑,这里使用 setTimeout 模拟异步请求
      setTimeout(() => {
        makeRequest(url, params)
          .then((result) => {
            resolve(result);
          })
          .finally(() => {
            activeRequests--;
            processQueue();
          });
      }, 0);
    }
  }

  function myRequest(url, params) {
    return new Promise((resolve) => {
      requestQueue.push({ url, params, resolve });
      processQueue();
    });
  }

  return myRequest;
}

// 模拟请求函数
function makeRequest(url, params) {
  return new Promise((resolve) => {
    // 这里可以根据实际情况发起请求
    // 这里使用 setTimeout 模拟异步请求
    setTimeout(() => {
      resolve(`Result for ${url} with params ${params}`);
    }, 1000); // 延迟1秒模拟异步请求的响应时间
  });
}

// 示例使用:
const urlList = ['https://example.com/api/1', 'https://example.com/api/2', 'https://example.com/api/3'];

const myRequest = createRequest(2); // 最大并发量为2

Promise.all(
  urlList.map((url) => {
    const params = { /* 根据需要传递的参数 */ };
    return myRequest(url, params);
  })
)
  .then((results) => {
    console.log(results); // 打印所有请求的结果
  })
  .catch((error) => {
    console.error(error); // 处理错误
  });

二面:总体一般,主要是这个并发确实写不出来,react源码很久没看了,知道调度器怎么做的但是说不出来了

三面

  1. 说实习,组件库,单测,覆盖率,serverless函数,为什么做,为什么现在做,为什么你做,怎么做
  2. 让你说自己项目,说亮点
  3. next相关,图片优化,cdn图片处理方案思路
  4. 浏览器性能优化,lighthouse, performence api
  5. 手写一道,rgbToHex RGB(255,255,255) => #FFFFFF

三面聊实习为主,无反馈

#快手#
 类似资料: