悠悠有品面试

222 阅读4分钟

悠悠有品面试

面试时间:2025年10月16日

面 试 官:2位

面试时长:37分钟

面试形式:钉钉会议

自评打分:5分(满分10分)

面试概况

因为GAP了将近100天时间,从投简历到面试只有2天,所以准备的比较仓促,面试官问的问题回答的也不甚满意,后续和业务线负责人面试时聊的很好。技术面试官不拖拉,直奔主题,性格果断,业务线面试官不急不燥,稳中有序。

技术面试

自我介绍

笔试题

// 给定一个数组和一个目标值,找出两个数之和等于该目标的下标对
const arr = [2, 7, 6, 11, 8, 13, 29, 20, 2]
const target = 9

// 期望输出 [0, 1],即2和7的下标


const findTwoSumIndex = (arr, target) => {}

我的回答

const findTwoSumIndex = (arr, target) => {
  for (let i = 0; i < arr.length; i++) {
    const idx = arr.findIndex((item) => item === target - arr[i]);
    if (idx > -1 && idx !== i) return [i, idx]; // 这里防止出现target为4时,返回的都是第一个2的下标
  }
}
// 时间复杂度:O(n^2) 空间复杂度O(1)

我在经过提示后的回答

const findTwoSumIndex = (arr, target) => {
  const numMap = new Map();
  let i = 0;
  while (i < arr.length) {
    const complement = target - arr[i];
    if (numMap.has(complement) && numMap.get(complement) !== i) {
      return [numMap.get(complement), i];
    }
    numMap.set(arr[i], i);
    i++;
  }
  return [];
}
// 时间复杂度:O(1) 空间复杂度O(1)

或者

const findTwoSumIndex = (arr, target) => {
  const numMap = new Map();
  for (let i = 0; i < arr.length; i++) {
    const complement = target - arr[i];
    if (numMap.has(complement) && numMap.get(complement) !== i) {
      return [numMap.get(complement), i];
    }
    numMap.set(arr[i], i);
  }
  return [];
}
// 时间复杂度:O(1) 空间复杂度O(1)

开放题:平时项目中我时如何做性能优化的,有哪些监测手段,以PC端首屏加载为例?

首屏加载:First Contentful Paint(FCP)

我回答的内容,以React项目为例:

  • 框架层面
    • React.lazy + Suspense
    • 组件缓存React.memo、useMemo、useCallback等
    • 分包
    • 避免state、props频繁更改,以及嵌套过深,避免大量数据频繁更新造成的页面重绘
    • 表单时间避免实时渲染,如使用防抖节流
    • react使用pruecomponent、vue可以使用functional函数组件,提高组件性能
  • 其他技术层面
    • 图片懒加载、精灵图片、webp
    • 虚拟dom
    • 操作数组和对象时,尽量减少循环次数,使用高性能的API,比如some等
    • 静态资源的混淆压缩
    • 减少请求
  • 优化的监控指标有哪些
    • 页面静态资源的加载时间
    • 使用console的time和timeEnd计算可视元素的渲染时间
    • 使用浏览器自带的Performance分析指标,LightHouse也可以
    • 框架自带的插件React DevTools中的Profiler、Vue DevTools中的Performance
    • 使用第三方工具,比如埋点

业务线面试

假如入职了以后,我的个人规划时什么样的?

入职了以后,我计划仍然以技术为主,希望在技术上能够更上一层楼,后期如果有机会做业务线负责人的话,我也希望能够尝试,并且我也有信心自己能够胜任,这样也能发挥自己最大的价值。

如果收到offer,什么时候可以入职?公司在金桥,通勤有问题吗?

我目前处于离职状态,如果有offer,随时可以入职。通勤也没有问题,我目前住在川沙,如果入职的话,我会搬到高东附近居住。

为什么选择悠悠有品?有没有国际化项目经验?

我的回答:目前我的工作经验主要集中在保险和金融领域,悠悠有品是一个游戏装备交易网站,我刚好比较缺乏电商这方面的经验,所以我对悠悠有品非常感兴趣。我之前做过国旅的企业差旅项目,主要也是面对国际用户的,也算是有一定的国际化项目经验。

你认为你是什么性格的人?

我的回答:我自认为我是一个比较外向,善于交际的人,所以在团队协作时,没有太大问题。第二我认为我是一个比较有耐心的人,我在公司带新人的时候,更多的不是一上来就分配任务,而是先根据每个人的想法,给与自己的建议,算是授人以渔吧。最后我认为我是一个自驱力比较强的人,考研就是一个很好的例子,我在工作时,也学习了不少技术,包括NPM开源包、github开源项目等。