- 个人介绍
- 项目都是在学校中完成的吗?有没有和同学合作去完成?(个人作品)
- HTML语义化理解(说的不好,只说了作用,应该说下其定义和常见语义化标签)
- 块级元素和行级元素有哪些?(块级:p,h1-h1 行内:span,button 就答了这几个,不太行!)
- 有做移动端适配吗?简单聊下如何去做移动端适配?(媒体查询+viewpoint)有用过其他的移动端适配吗?比如rem,em,说下他俩的区别(rem相对html中字体大小,em相对父元素)
- 移动端1px问题有了解吗(见过,但是没看过诶)
- 布局都有哪些方式?(flex,定位,浮动)
- 讲下flex的属性(flex-grow,flex-shrink,flex-basis,刚开始以为是容器的属性,其实是项目的属性,这里要注意分辨下)
- 垂直水平居中实现方式(4种方式,八股)
- 左边盒子是字体填充,右边怎么自适应(说的是flex:1,背的八股是5种方式,如果不设置固定宽度应该是2种方式)
- JS闭包(八股)
- 垃圾回收有几种机制(标记清除、引用计数,V8中新老区)
- 原型与原型链理解(八股)
- JS继承方式有几种(就说了原型链继承,我记得有很多种,好难回去看看)
- JS数据类型(八股)基本类型和对象类型的区别是什么?(从可变性和栈堆内存两方面说的)
- 浅拷贝和深拷贝理解(八股)有用过深拷贝吗?(就说了用的比较基础,就是创建新空间进行拷贝)有了解深拷贝有几种方式吗?(说了JSON和创建个函数两个,其中后者的话从数组对象循环引用方面简单说了下)那如果让你实现一个深拷贝方法函数,能具体讲下吗?(面试前刚看过,答的还不错感觉!)
- 同源策略是什么?(八股)你的跨域的解决方案(还是3种)
- 数组的sort方法参数是什么?sort方法能不加参数吗?(我说的可以,这里错了)
- 排序有哪些?(冒泡、选择、插入、快速、堆排序,没有说全)快排思想是什么?(八股)
- react用的版本是什么?(18)
- 类式组件与函数式组件的区别(八股)
- 函数式组件有什么钩子是对应类似的生命周期?(useEffect对应着3个生命周期)
- 父子组件通信(八股)
- Reudx的数据流(八股)
- useMemo和useCallback区别(八股)
- es6新特性(八股)
- 解释下promise(八股)
- promise.all和promise.race的区别(八股,基础说的对)promise.all的应用场景(处理多个异步,切都得到结果)
- webpack中loader和plugin区别(八股)自己实现过plugin配置?(呃呃呃忘了配置过哪些plugin)
- 节流防抖有用过吗?简单介绍下(谈了下节流)
- 场景题:筛选框显示了对应结果,如果返回,怎么达到不重新渲染组件,而是返回刚才的数据状态?(这里是想到了,没有敢说,面试官点出可以把上次的状态先存储到sessionStroge或全局状态管理中)
- 介绍下所做的优化(准备过)
- 对于组件的封装的理解(逻辑上的封装--编辑和新增,渲染上的封装--列表显示)
- 父给子组件传递参数比较多,你怎么处理?(通过对象+...方式)
面试官总结:作为实习生,基础是可以的,后面可以知识面更扩展一些,因为简历上写的还是蛮多的,一般面试官会挨个进行提问。另外对于防抖节流、深拷贝、数组方式、算法这些很多是不只是一种实现方式的,后面可以多掌握一些。
个人总结:表现还行,考察更多是基础知识,就如面试官提到的,对于一些知识要掌握更多的实现方法,另外TS也需再巩固下吧
#工作##前端##实习##面经##春招#