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

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

讯盟科技  (拿offer)

“我自己是一名从事了6年web前端开发的老程序员,今年年初我花了一个月整理了一份最适合2021年自学的web前端全套培训教程(视频+源码+笔记+项目实战),从最基础的HTML+CSS+JS到移动端HTML5以及各种框架和新技术都有整理,打包给每一位前端小伙伴,这里是前端学习者聚集地,欢迎初学和进阶中的小伙伴(所有前端教程关注我的微信公众号:web前端学习圈,关注后回复“web”即可领取

一面 技术面

  • 项目

  • 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

  • flex

  • 实现垂直居中布局

  • 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技术部 (学历挂)

1


/** * 找出数组中第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

*/
复制代码
 
  

2


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

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

* 请实现一个promise.allSettled函数

*/
复制代码
 
  

3


/**

* 实现一个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~

*/

你可能感兴趣的:(web前端学习圈,前端,面试,react.js)