1

2年前端(外包经历) 6月部分面试记录 (高级、资深岗位)

 2 years ago
source link: https://zhuanlan.zhihu.com/p/448600149
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

2年前端(外包经历) 6月部分面试记录 (高级、资深岗位)

本人一年小公司,2年前端大厂外包经历,坐标杭州,记录6月份部分面试记录,还有一部分忘的太多没记录。

讯盟科技 (拿offer)

一面 技术面

  • axios如何取消请求、原理
  • react如何diff、细节
  • hooks使用情况
  • 为什么hooks不能写在循环或者条件判断语句里
  • useMemo、useCallback使用场景
  • useEffect、useLayoutEffect区别
  • 拖拽原生实现方式
  • 聊聊promise
  • redux的三个原则、如何写一个中间件
  • dva和redux的区别是什么
  • TL做哪些工作
  • 怎么应对工作中的压力

二面 人事面

  • 项目负责什么
  • 作为面试官招聘 中级、高级的标准是什么
  • 投入精力最多的项目、因你有什么不同
  • 学习方式、有没有将一些学习的东西应用到工作中
  • 自己有没有做工作之外的技术上的东西
  • 遇到了自己解决不了的问题怎么办
  • 如何面对工作压力
  • 周末会做些什么
  • 怎么看加班
  • 希望加入一个什么样的技术团队

三面 前端负责人面

  • 项目的起因、目的
  • 如果长时间分配给你一些琐碎的、对你来说没什么技术含量的事情怎么看待
  • 最近看什么书、第一章讲的什么
  • 如何看待压力
  • 如果业务压力过大、导致经常加班、没时间学习怎么办
  • 对团队的向往

光云科技 (拿offer)

一面 技术面

  • 项目描述、负责内容
  • 如何理解fiber
  • fiber节点对象的一些属性都有哪些
  • react diff算法
  • 场景题:一个下拉框 200条数据 怎么优化 (默认展示10条)
  • react和vue的区别

二面 主管面

  • 负责最复杂的项目描述、负责内容、技术方案
  • 60个请求(限制最多同时请求6个)请求并行方案
  • 原生拖拽方案及实现细节(mouseMove、drag,drop)

三面 6月3日 总监面

忘记了。。。

数美科技 (拿offer)

一面 技术面 电话面试

  • react缺点(...无语)
  • react hooks使用
  • react class 组件constructor 中的super的作用、
  • pureComponent和Compoent什么区别
  • react组件名称为什么要大写
  • 箭头函数和普通function的区别

二面 技术面 电话面试

  • react class和hooks区别
  • HOC使用场景、自定义hooks使用情况
  • webpack理解
  • 数组遍历方法 哪个快
  • react路由原理
  • react-redux原理
  • d3的理解

优脑银河 (拿offer)

一面 技术面 现场面试

  • 深拷贝实现、和浅拷贝的区别
  • 如何理解node单线程
  • 数据库了解情况
  • mongodb按照id查一条数据 语句
  • TL做哪些事情
  • 新工作的期望

二、三面 技术面

  • react生命周期 为什么新增了两个静态的 目的是什么
  • hooks优势是什么、使用情况
  • react diff算法
  • css flex
  • Object.keys() 和 for in 区别
  • filter 、map区别
  • 手写bind函数
  • 手写多维数组降纬 flat
  • 手写函数实现数组 。[12, 3, 24, 1, 932, 6423] 按照首位排序
  • 手写快排 quickSort
  • 手写实现add函数 满足 add(1)(2)(3)() 返回 6
  • 手写简版 深拷贝

兑吧 (挂)

全是es6基础问题、省略。。。

杭州促极科技 (拿offer)

一面 6月7日 技术面

  1. 实现sum(1)(2)(3) 输出 6
  2. 手写防抖函数
  3. 实现sleep函数 实现sleep(1000)延迟执行 //三版 promise、generator、async await
  4. 实现两数组取交集[1,2,3,4,8]、[2,3] // 交集[2,3];
  • egg相对于koa的区别、chair相对于egg的区别
  • 一道sql查询语句
  • lodash都用哪些东西 get、set实现原理、深拷贝实现原理
  • 通过学习了圆满在业务开发中有哪些应用
  • react diff
  • hooks和class组件的区别
  • hooks里怎么模拟class组件生命周期

二面 6月7日 TL面

  • 最满意的一个项目、其中职责
  • 。。。忘记了

三面 6月7日 总监面

  • 再一遍自我介绍
  • react生命周期
  • 了解哪些设计模式
  • 设计模式了解哪些、作用是什么、怎么看
  • TL都做哪些事情、怎么给组内人员分配工作
  • 。。。忘记了

快手 (挂)

一面 6月8日 技术面 视频面试

  • 聊项目、立项初衷、目的、负责什么、落地成果
  • vw、vh、rem、em
  • 实现垂直居中布局
  • link标签prefetch、preload作用
  • script标签async、defer作用、区别
  • 事件模型、事件代理
  • e.target 和 e.currentTarget区别
  • 0.1 + 0.2 !== 0.3 解决办法
  • 检测数据类型方法有哪些
  • typeof String(1) 和type new String(1) 返回值
  • String(1)和new String(1) 为啥都能调.substr()
  • 浏览器安全策略 跨域方法 CORS怎么携带cookie 。cookie的samesite作用
  • 如何理解事件循环

编程题 :实现下面函数

function add() {}

function one() {}

function two() {}

console.log(one(add(two())))
// 3
console.log(two(add(one())))
// 3
复制代码

政采云 (挂)

一面 技术面

  • react hooks理念、使用情况、setState和class组件this。setState区别是什么
  • http头部字段都有哪些
  • 后端配置缓存和html meta标签配置缓存的区别
  • 对cdn的理解
  • 忘记了。。。

二面 技术面

  • 自定义hooks使用
  • var、let、const 区别
  • Object和Map的区别
  • Map和WeakMap 的区别
  • 垃圾回收机制 栈内存回收、堆内存回收
  • 前端的核心竞争力是什么
  • 对前端一些比较热门或新的技术的了解

微店 (拿offer)

一面

  • react事件系统
  • react class组件和hooks区别
  • useCallback和useMemo如何使用 作用
  • 做过的性能优化
  • 进程和线程的区别
  • 线程、进程通信方式
  • 使用webWorker是新开了个进程还是线程
  • 首屏优化方案
  • 拖拽实现方案
  • 手写new函数 和数组降纬排序

二面

  • promise原理
  • promise先catch再then 在catch里返回内容then里回调函数能不能接受到
  • promise错误如何捕获
  • 讲讲浏览器事件循环
  • 讲讲js是如何存储数据的 和垃圾回收机制
  • 如何做组件库设计、及如何保证稳定性、如何做单测
  • 组件设计、了解哪些设计模式、实际应用
  • 可视化方案、svg、canvas区别 使用场景

三面 总监+hr面

  • react和vue区别
  • 讲讲做过最复杂的项目和觉得贡献最多的项目、
  • 你做和其他人做的区别是什么、
  • 为什么选择你
  • 平时学习方式、学习能力体现在哪些方面
  • 觉得自己对标阿里是p几
  • 周末时间都做什么
  • 学习方式以及有没有输出什么东西
  • 最近在学习什么
  • 为什么想离开外包
  • 你觉得外包和甲方的区别是什么
  • 担任TL的时候都负责哪些事情、如何平均分配好每个人的工作量、怎么做评估的

丁香园 (拿offer)

一面

  • 现场纸质手写题30分钟作答 具体忘记了
  • react hooks和class的区别
  • react diff策略 内部怎么做的、时间复杂度为什么是On3
  • react 15 16区别、fiber架构优势
  • code review 怎么做的
  • 如何分配任务
  • 如何做性能优化

二面

  • 为什么离职
  • 如何设计一个本地存储的包 提供给其他同事用, 思路、实现细节
  • 觉得自己的优势和劣势分别是什么
  • 如何学习、怎么做规划
  • 忘记了。。

三面

GrowingIO (拿offer)

阿里CBU技术部 (学历挂)

/** * 找出数组中第k大和第m大的数字相加之和

* 说明:实现一个方法,找出数组中第k大的和第m大的数字相加之和

* 示例:

* let arr = [1,2,4,4,3,5], k = 2, m = 4

* findTopSum(arr, k, m); // 第2大的数是4,出现2次,第4大的是2,出现1次,所以结果为10

*/
复制代码
/* Promise.allSettled可以将多个Promise实例包装成一个新的Promise实例。不同于Promise.all只有promise都

* 成功时返回一个数组,allSettled总会返回一个结果数组,数组中的每一项分别是每个promise的运行结果。

* 请实现一个promise.allSettled函数

*/
复制代码
/**

* 实现一个EatMan

* 说明:实现一个EatMan,EatMan可以有以下一些行为

* 示例:

* 1. EatMan(“Hank”)输出:

* Hi! This is Hank!

* 2. EatMan(“Hank”).eat(“dinner”).eat(“supper”)输出

* Hi This is Hank!

* Eat dinner~

* Eat supper~

* 3. EatMan(“Hank”).eat('dinner').eatFirst(“lunch”)输出

* Eat lunch~

* Hi This is Hank!

* Eat supper~

* 4. EatMan(“Hank”).eat('dinner').eatFirst(“lunch”).eatFirst("breakfast")输出

* Eat breakfast~

* Eat lunch~

* Hi This is Hank!

* Eat dinner~

*/

原作者姓名:思唯
原出处:掘金
原文链接:2年前端(外包经历) 6月部分面试记录 (高级、资深岗位) - 掘金


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK