记一次高级前端开发工程师面经
点击关注下方卡片关注我????????回复“面试”查阅面试精选文章前言#面试挺累人的,每天下班后赶回家饿着肚子面试,面了将近一个月,大概就一个中厂的水平吧。面试完最好进行一个复盘,查漏补...
点击关注下方卡片关注我????????
回复“面试”查阅 面试精选文章
前言
#面试挺累人的,每天下班后赶回家饿着肚子面试,面了将近一个月,大概就一个中厂的水平吧。面试完最好进行一个复盘,查漏补缺。
一、携程
-
对着简历问一遍
-
rem, 计算出375的屏幕,1rem,单位出现小数怎么处理
-
javascript精度问题的原因
-
axios用途
-
性能优化的点,webpack分包,首页资源大小,请求优化,gzip之前还是之后,React重新渲染
-
国际化站点,cdn, 在页面什么阶段加载国际化文件,如果有20多个语言该怎么做
-
ssr有没有用过
-
项目中websocket是解决了什么问题
-
DOM, BOM, js的关系
-
React dom绑定事件,与原生事件有什么区别
-
http2多路复用
代码题
if (!('a' in window)) {
var a = 1;
}
console.log(a);
var a = {}; var b = {}; var c ={};
console.log(a === b);
console.log(b === c);
console.log(a === c);
var d = e = f = {};
f = {}
e = f
d = e
console.log(d === e);
console.log(d === f);
console.log(e === f);
米哈游:
-
http状态 301,302, 304,缓存相关字段
-
cookie、ws是否跨域
-
触发bfc的方式
-
rem和vw的使用场景
-
伪代码实现下懒加载
某外企:
一、
-
下面函数是闭包吗?
const func = ()=> {
const a = '111'
const fun2 = ()=> console.log(a)
return ()=> console.log('_')
}
const next = func()
'12345'.split('')
上述代码发生了什么
下面代码打印的是
console.log("12345" instanceof Object);
-
实现一下some, every
-
flatten实现
const promise = new Promise(resolve => {
console.log("11111");
setTimeout(() => {
console.log("22222");
}, 0);
resolve();
console.log("resolve");
throw new Error("error");
console.log("error");
});
promise
.then(
() => {
console.log("33333");
setTimeout(() => {
console.log("44444");
}, 0);
},
() => {
console.log("reject");
}
)
.catch(() => {
console.log("catch");
});
console.log("55555");
-
函数组件怎么阻止重复渲染
二、
-
AST作用 or babel实现原理
-
实现自定义hooks,usePrevious。setcount(count => count + 1)后输出上一次count的值
美团:
一、
-
自我介绍中提到了性能优化, 说了说性能优化的点
-
不同域名共享cookie
-
on, emit, 实现
-
防抖的实现
-
输入url到页面返回结果
-
缓存的实现方式
-
React组件重复渲染
-
webpack分包
字节:
一、
-
Webpack 插件,生命周期
-
umi约定式路由怎么实现的
-
babel实现远原理
-
React ref
-
fib实现,如何优化
盒马:
一、
-
说出你最擅长的部分,追问
-
webpack拆包的依据。1.被多个模块使用,cache起来 2.资源过大
-
canvas 点击线段事件。重合区域怎么处理
-
webWorker的使用:为什么不在worker里面发出请求,做数据转换呢?
太美医疗:
-
generate函数和async区别
-
webpack插件实现
叮咚买菜:
一、
-
Vue, React使用情况
-
父子组件的mounted 调用顺序
-
$nextTick实现原理
-
子元素水平垂直居中
-
斐波那契数列如何优化
-
业务题:封装一个全局的弹窗,在任何组件内都可以调用。追加:如何同时打开5个弹窗,关闭顺序又如何
二、
-
封装Vue插件
-
5个弹窗
-
$nextTick原理
-
手机号码分割 _ _ _ - _ _ _ _ - _ _ _ _
-
最大字符串数, “abcdabcda” 求最长的不重复字符串
-
兄弟组件通信
-
vuex 模块化怎么做
-
不同域名如何共享cookie
总结:
对于3~5年的前端开发来说,不应该仅仅是停留在会用API的层面,至少要关注到你使用的技术的一些原理实现。这也是大厂考察候选人钻研精神吧,相对来说有一个区分度。个人建议最好精通一个方向,比如:
-
前端工程化,webpack, babel, Node 等。
-
精通框架源码
-
可视化,3D方向
-
流媒体,音视频
当然,如果要进大厂的同学,还得突击一下算法部分。leetcode 简单和中等难度就可以。
作者: 唯依绾青丝
https://juejin.cn/post/6951407692011274247
END
推荐阅读 点击标题可跳转
关注下方「前端开发博客」,回复 “加群”
加入我们一起学习,天天进步
如果觉得这篇文章还不错,来个【分享、点赞、在看】三连吧,让更多的人也看到~
“分享、点赞、在看” 支持一波
更多推荐
所有评论(0)