Skip to content

个人面经

字数
698 字
阅读时间
3 分钟

某初创 AI 领域公司

前端开发岗,Vue + TypeScript 岗

I Generated a checklist for my preparation.

简单写一下面经吧。不是按顺序的,分了一下类。

基本交流

一开始大部分时间都在介绍自己的项目,其实搓的挺烂的。

用AI写代码吗?如果是通过AI来辅助编程,你会怎么做?

情景问题

  1. 输入框高频输入联想(比如百度搜索输入框的下拉联想)如何保持搜索框内容与联想内容的一致性?

    我给的回答是使用id进行请求对应,或者利用延迟进行防抖处理;实际的更好的选择可能是请求取消,可以看看下面的链接

  2. 如果要对 promise 请求进行封装,而非使用 await 该如何实现?

    • 创建 Promise 实例:使用 new Promise((resolve, reject) => { ... }) 构造函数创建一个新的Promise 实例。
    • 执行异步操作: 在Promise 构造函数的回调函数中,执行实际的异步操作。
    • 根据结果调用 resolve 或 reject:
    • 如果异步操作成功,则调用 resolve(value),并将结果数据作为参数传递。
    • 如果异步操作失败,则调用 reject(error),并将错误对象作为参数传递。
    • 返回 Promise 实例:yourAsyncFunction 函数应该返回创建的Promise 实例。
JavaScript
// AI Example
function yourAsyncFunction(param) {
  return new Promise((resolve, reject) => {
    //  模拟异步操作,例如网络请求、定时器等
    setTimeout(() => {
      const randomNumber = Math.random();
      if (randomNum > 0.5) {
        resolve({ data: 'Success!', randomNum: randomNum }); // 成功,返回数据
      } else {
        reject(new Error('Operation failed!')); // 失败,抛出错误
      }
    }, 1000);
  });
}
  1. 如果要一次性发送多个 promise 请求,同时要求需要收到所有响应,如何实现
    • promise.all()
  2. 如果你要实现一个鉴权,你会放在前端还是后端?有没有什么方案
    • 问这个是因为简历写了点对后端和安全的了解
    • 说了点安全上的问题,提了CAS什么的,还有JWT

代码实战

该公司目前某网站的页面前端帧率过低,卡顿,通过代码发现原因并提出修复方案

  • 没找对
  • 原因:由于直接操作 DOM 实现背景动效,DOM 修改过于频繁,导致帧率低、卡顿
  • 修复:目前方案是从直接操作 DOM 改为通过 Canvas API 进行绘制

贡献者

页面历史