总结
- 坐标:上海,运营转行
- 时间:12月,共面了16家左右
- 求职的一些经验:
(1)先找小公司练练手增加信心;
(2)没自信的时候跟自己说去试试吧,万一成了呢;
(3)把找工作看成一场马拉松,急不得真的急不得!
(4)面试结束后进行总结,不会的题目搞会因为可能下一场面试还会碰到;
(5)简历上的项目多测试下,面试当场点出bug真的很尴尬 - 关于面试题目:
(1)总体来说,js、http、框架问的比较多,css问的比较少,html基本没问
(2)js基础蛮多问到的,比如数组、对象的方法,建议复习下;
(3)React和Vue框架类会问到实现原理,可以看下官网;
(4)大公司可能都会线上视频(牛客网)写代码,可以提前模拟下缓解紧张,当然多面面也就习惯了;
详细面试题目
下面列出来的都是面试中不止出现1次的(除写代码题):
CSS:
• 选择器的顺序
• 定位有哪些
• BFC
• 垂直居中/两栏分布/三栏分布(其中某个宽度自适应)
JS:
• ES6新特性
• promise
• TS的好处,为什么说能提高开发效率
• 作用域,闭包及为什么用闭包
• this指向
• 防抖和节流
• call、apply和bind的区别
• 原型链
• 作用域链
• 数组有哪些方法,几种遍历方法的区别、对象有哪些方法
• new一个对象的过程
• 数据类型有哪些,怎么判断,typeof null是什么
DOM:
• 事件冒泡与事件捕获
• 虚拟DOM是什么,怎么DOM DIFF
• 事件委托,如何实现
HTTP:
• 浏览器的事件循环,宏任务与微任务
• 缓存有哪几种,协商缓存和强缓存的区别
• 垃圾回收
• 状态码
• 跨域,如何解决
• 三次握手和四次挥手
• 浏览器渲染页面的过程,哪些修改触发回流,哪些触发重绘
• 用户输入url到最后呈现页面中间的过程
• 进程与线程的区别
• cdn是什么
框架:
• Vue如何实现数据响应式
• Vue的生命周期
• Vue-router的使用,路由守卫
• Vuex如何使用
• Vue组件间通信有哪几种方式
• Vue-router底层原理
• Vue的nextTick
• Vue3与2的区别,解决了哪些问题(因为我有Vue3的项目)
• Redux如何使用
• React的生命周期
• React组件间通信有哪些方式
• React的hooks原理了解多少
• Vue与React的区别
算法:
• 斐波那契数列
• 二分法
项目:
• 项目是怎么实现的,为什么这么设计,为什么用这种方法实现,有什么缺点
其他:
• 为什么想转前端
• 学习的方式,什么渠道,学哪些
碰到的当场写代码题目分享:
- (1)罗马数字包含以下七种字符: I, V, X, L,C,D 和 M 。分别代表:
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。
写一个函数实现将数字转换成罗马数字 - (2)写一个函数对数组去重
- (3)实现深拷贝函数,有引用自身怎么办
- (4)css实现一个圆/三角形/四分之一圆
- (5)1.将最后一个 li 标签背景色改为 red ;2.js 删除或者css 隐藏掉 p 标签(css 方式至少 3 种方法) ; 3.实现水平三等分布局(至少 2 种方法) ; 4.点击任何一个 li 标签,打印出它的序号。比如点击第 1 个,序号为 0 ;
/*注:不要修改 html 代码*/
<ul class="test4" id="test4">
<li>1</li>
<li>2</li>
<li>3</li>
<p>4</p>
</ul>
- (6)用setTimeOut实现setInterval
- (7)从0到10000,算出里面出现的0的次数总和
- (8)实现ES6中的模板字符串的功能
- (9)封装http请求方法,超时控制,超过3000s时还没有请求到结果报一个错误