一年前端重新找工作,给大家拓宽一下思路
因为还没有找到,公司名就不爆出来了
1
一面:
1.css动画 向左滑动同时放大缩小
animation,很简单
2.手写节流
3.手写前序遍历
4.***数组展开为一维
5.有没有做过小程序开发
6.D3相关的问题
简历里写了所以会问,后面hooks也一样
7.flex常用属性,flex-dreaction作用
8.如何把a标签改造成一个div标签
dispaly/取消默认的点击事件的冒泡
二面:
1.countOne 给一个数计算其二进制有多少位
位运算 注意要判断数的正负
2.手写combine函数, fn(fn1,fn2) 用reduce模拟一个for循环
3.复杂项目的CSS是如何组织的
sem oo
4.CSS的优先级 如何进行计算
5.长连接 短连接 websocket的区别
6.node怎么连接一个数据库
2
笔试+一面:
1.闭包,var作用域问题,var x=y=1的问题
2.cookie,sessionLocalStorage和LocalStorage区别
3.http状态码 307 知道吗 http2.0 http1.1 有哪些更新和变化
4.基本类型,如何判断是不是数组/对象
5.http输入url后的详细步骤,如何对首页白屏进行优化
6.讲一下浏览器的缓存
强缓存200/协商缓存304
7.react和vue的异同,redux和mobx的区别
8.footer组件的css如何写 如何自适应 有考虑过兼容性吗
9.脱离文档流后的元素高度,
0 用BFC解决
10.new bind call apply区别
全部手写一遍,这种题目基本上就都会了
3
笔试,旁边有电脑可以用:
1.document操作
2.深拷贝 只要求考虑Obeject类型,考虑爆栈的问题
3.数组去重
{ } set key
4.http状态码,缓存机制 阻塞机制
5.求无序数组中位数 要求:复杂度logn
用堆
6.二叉排序树转换为有序的双向链表 要求:只能修改指向
后序遍历,然后指向
一面:
1.问简历
2.redux的immunbale问题
3.key为什么可以减少List的render量
4.数据量很大的列表卡顿如何解决 分页,事件*** 虚拟列表如何实现 回答了定高,用轮播图思路解决
5.遥远地区的客服反映页面加载慢,如何定位问题 怎么埋点
6.首屏渲染慢有可能是哪些原因,如何解决
7.手写一个JSONP完成一次指定的GET请求 如何改造成一次CRSF攻击
二面:
1.react hooks: useMemo -> shouldCompeonetUpdate作用
2.问个人项目实现细节
3.window size小于max-width后 popover如何保持在view port
popover的两种实现思路 父组件wapper/root节点 绝对定位
4.实现Promise的cancel方法,调用后停止继续执行then上挂载的callback
重写then的原型方法,维护一个状态
5.Tree-shaking是如何实现的
webpack会做标记,uglify去除多余代码
6.带标签的富文本如何截断
还原成树,计算长度,截断后补
4 某h5游戏小公司
机试,可以查MDN,Stack Overflow,React文档
环境:create-react-app,给你一个视频,模仿页面
考点:
1.fiexd的aside button 点击后显示抽屉
2.封装 弹出抽屉组件 需要写动画
这个组件的文件名给你创建好了,父组件维护一个state
3.居中一个svg,浏览器resize后仍然居中
flex
4.点击按钮后的涟漪效果
animation动画 用圆+缩放+透明度+延迟 的帧动画完成
一面:
1.H5新特性用到过哪些?
2.给一个1000*1000个方格组成的矩形,染色方格画一个圆
3.D3 force实现思路是怎样的
4.如何实现一个对单个元素的放大镜工具
缩放加圆形蒙版
5.如何用canvas实现一个画板,画的线不平滑怎么处理
canvas api 差值,贝塞尔曲线
6.用js如何侦测一个对象的数据变化
Obeject.defineProperty
7.封装一个div拖动的逻辑
#面经##校招##前端工程师#