每日任务之随便找个面经答
答https://www.nowcoder.com/discuss/tiny/936448?channel=666&source_id=feed_index_nctrack&fromIframe=true
都是可以吹逼的好问题
1你对框架的认识?
这其实是个好问题,吹逼就靠这种能发散的问题。
从手写js到jquery到backbone这种简单的模板引擎到vue/react这种复杂框架的演进,实质上是因为前端项目日益复杂化反过来推动前端基础建设满足这样指数增长的复杂度:
需要模块化方便做抽象来复用逻辑;
需要数据绑定,这样就不用自己维护状态到视图的大量徒增复杂度的同步逻辑;
需要掩盖掉不同平台间的差异,来减少各端开发的成本;
需要容易上手,降低招聘门槛,让业务团队专注业务导向;
需要在快速开发与高性能之间做到微妙的平衡;
在过去的20年,前端项目只是一个静态的黄页,也不存在框架,大家都是手写html;
在2022年的今天,前端支撑了在线文档、在线PS等高复杂度的完整软件,支撑这种项目的也有weback、react、less这种复杂的工具链;
可以说框架因为前端项目的复杂度而出现,也支撑了这样的复杂需求的落地。
2.你怎么理解语义化?
总结就是没啥用。
- 让机器读网页,给SEO用的。但是写好meta加花钱买广告位比语义化效果大多了,没啥必要。
- 方便盲人用户的屏幕阅读器,但是这个也可以写属性解决。
- 方便开发,便于理解页面结构。实际上SPA里面不在乎这个,开发时叫什么名字和最终编译结果可以一点关系没有。
3.HTML5的更新
我开始学前端的时候h5已经普及了,我哪知道?
4.LocalStorage和sessionStorage的区别
持久化周期是长周期还是页面生存周期的区别,看名字看不出来吗?
5.CSS选择器及优先级
行内样式、id选择器、class选择器、标签选择器,再加个important;
乐意的话拓展讲讲权重计算。
6.CSS3的更新
我开始学前端的时候Css3已经普及了,我哪知道?
7.用纯CSS绘制一个三角形
纯纯的八股题,出这个的面试官多少沾点;那我只能原文背诵:
用border画,画不出来就直接手写svg
8.用CSS绘制一条0.5px的线
一般来说出现这种情况的时候我们会直接喊UI让他别这么干,因为存在的方法都存在各种兼容性问题,还不如不用;
但是既然你问了,那我只能全文背诵:
transform: scaleY(0.5);
linear-gradient 渐变
9.谷歌浏览器怎么设置小于12px的字体
scale
10.三栏布局
flex一把梭。不能用flex的浏览器我认为它不存在。
11.js的数据类型
number/string/boolean/undefined/null/Object
为了吹牛逼我一定要告诉你还有新加的BigInt和Symbol
12.js中simple的用处?
simple只会打CS,不会写js
13.如果new一个箭头函数会发生什么?
规范写了不能new,傻仔
14.new操作符具体干了什么?
有请全文背诵ECMAScipt规范中EvaluateNew片段,如果你用英文背一定能把面试官忽悠的一愣一愣的
https://262.ecma-international.org/#sec-evaluatenew
15.0.1+0.2 !== 0.3?
IEEE规范这么写的,双精度浮点数运算就这样,全文背诵请
他要问你怎么解决 请在运算中使用容错值
16.事件委托?事件循环?
事件委托是基于事件冒泡在父元素上绑定,避免大量监听器绑定在子元素中,反正事件会携带target
事件循环是js作为单线程语言能实现非阻塞的关键,一句话回答就是对于异步任务可以丢进线程池,然后在主线程空闲的时候跑个循环去轮询异步任务完成了没有,循环在这呐
17.防抖与节流?
全文背诵
18.浅拷贝和深拷贝?
浅拷贝就是根据对象的类型执行不同的拷贝方法,对于对象要遍历每个属于它自己的属性然后依次拷贝到新对象里。
深拷贝就是递归执行对象的浅拷贝,递归的时候注意看下有没有环就完事了。
19.原型与原型链?
一个特殊属性用来记录父类来实现继承呗
20.作用域和作用链?
作用域就是一个变量可访问和可见的区域,Javascript会层层遍历作用域来寻找用到的变量,这就叫链了。
拓展吹一下js是词法作用域,所以有闭包这种玩意。
21.常见的数组操作方法?
问这个题目多少沾点
22.js声明变量 var ,const,let的区别
我接触前端的时候已经有es6了,我从来不写var。
但是你既然问了,那就说下:const不可变,let可变,var可变并且携带几个作用域问题。
23.const声明的变量可以修改吗?const声明的对象的属性可以修改吗?
不可以/可以,存的是对象的引用
24.vue框架的一些原理
那我就给你一些解答。
25.vue的双向数据绑定
用Proxy或者getter/setter,实现了一个自动的发布订阅:render首次render的时候访问到getter就注册了变动监听,setter更改值的时候就通知注册的render进行更新。
26.vue实现数据劫持?
说人话
27.v-if和v-show的区别
不渲染/渲染但是不可见
28.vue的声明周期和钩子函数?
给我狠狠地背诵八股
29.vue实现组件间传值有哪些方法?
可用性高的就俩,一个是传递props与emit事件,一个是抽一个独立出来的store作为数据中介穿透在各个组件之间,反正实现了vue那套数据劫持的逻辑就行
30.vue中computed和watch的区别?
computed是带点魔法的watch,少写点代码加上有缓存
31.在vue中一般用哪个声明周期请求异步数据?
mount的时候
32.http常用的状态码
200 404 500 我只会这三个(骄傲
33.vue中$nextTick的原理及作用
一个神奇的hook,在vue把变动实际推送到页面上之后会调一下,用途就是让你能够读到变动数据后跟随而变化的dom
34.输入url到页面加载全过程
全文背诵全文背诵,特别是ssl和光栅化渲染这里,建议每一项展开和面试官吹一个小时,让他觉得你可取而代之
#面经##前端#
都是可以吹逼的好问题
1你对框架的认识?
这其实是个好问题,吹逼就靠这种能发散的问题。
从手写js到jquery到backbone这种简单的模板引擎到vue/react这种复杂框架的演进,实质上是因为前端项目日益复杂化反过来推动前端基础建设满足这样指数增长的复杂度:
需要模块化方便做抽象来复用逻辑;
需要数据绑定,这样就不用自己维护状态到视图的大量徒增复杂度的同步逻辑;
需要掩盖掉不同平台间的差异,来减少各端开发的成本;
需要容易上手,降低招聘门槛,让业务团队专注业务导向;
需要在快速开发与高性能之间做到微妙的平衡;
在过去的20年,前端项目只是一个静态的黄页,也不存在框架,大家都是手写html;
在2022年的今天,前端支撑了在线文档、在线PS等高复杂度的完整软件,支撑这种项目的也有weback、react、less这种复杂的工具链;
可以说框架因为前端项目的复杂度而出现,也支撑了这样的复杂需求的落地。
2.你怎么理解语义化?
总结就是没啥用。
- 让机器读网页,给SEO用的。但是写好meta加花钱买广告位比语义化效果大多了,没啥必要。
- 方便盲人用户的屏幕阅读器,但是这个也可以写属性解决。
- 方便开发,便于理解页面结构。实际上SPA里面不在乎这个,开发时叫什么名字和最终编译结果可以一点关系没有。
3.HTML5的更新
我开始学前端的时候h5已经普及了,我哪知道?
4.LocalStorage和sessionStorage的区别
持久化周期是长周期还是页面生存周期的区别,看名字看不出来吗?
5.CSS选择器及优先级
行内样式、id选择器、class选择器、标签选择器,再加个important;
乐意的话拓展讲讲权重计算。
6.CSS3的更新
我开始学前端的时候Css3已经普及了,我哪知道?
7.用纯CSS绘制一个三角形
纯纯的八股题,出这个的面试官多少沾点;那我只能原文背诵:
用border画,画不出来就直接手写svg
8.用CSS绘制一条0.5px的线
一般来说出现这种情况的时候我们会直接喊UI让他别这么干,因为存在的方法都存在各种兼容性问题,还不如不用;
但是既然你问了,那我只能全文背诵:
transform: scaleY(0.5);
linear-gradient 渐变
9.谷歌浏览器怎么设置小于12px的字体
scale
10.三栏布局
flex一把梭。不能用flex的浏览器我认为它不存在。
11.js的数据类型
number/string/boolean/undefined/null/Object
为了吹牛逼我一定要告诉你还有新加的BigInt和Symbol
12.js中simple的用处?
simple只会打CS,不会写js
13.如果new一个箭头函数会发生什么?
规范写了不能new,傻仔
14.new操作符具体干了什么?
有请全文背诵ECMAScipt规范中EvaluateNew片段,如果你用英文背一定能把面试官忽悠的一愣一愣的
https://262.ecma-international.org/#sec-evaluatenew
15.0.1+0.2 !== 0.3?
IEEE规范这么写的,双精度浮点数运算就这样,全文背诵请
他要问你怎么解决 请在运算中使用容错值
16.事件委托?事件循环?
事件委托是基于事件冒泡在父元素上绑定,避免大量监听器绑定在子元素中,反正事件会携带target
事件循环是js作为单线程语言能实现非阻塞的关键,一句话回答就是对于异步任务可以丢进线程池,然后在主线程空闲的时候跑个循环去轮询异步任务完成了没有,循环在这呐
17.防抖与节流?
全文背诵
18.浅拷贝和深拷贝?
浅拷贝就是根据对象的类型执行不同的拷贝方法,对于对象要遍历每个属于它自己的属性然后依次拷贝到新对象里。
深拷贝就是递归执行对象的浅拷贝,递归的时候注意看下有没有环就完事了。
19.原型与原型链?
一个特殊属性用来记录父类来实现继承呗
20.作用域和作用链?
作用域就是一个变量可访问和可见的区域,Javascript会层层遍历作用域来寻找用到的变量,这就叫链了。
拓展吹一下js是词法作用域,所以有闭包这种玩意。
21.常见的数组操作方法?
问这个题目多少沾点
22.js声明变量 var ,const,let的区别
我接触前端的时候已经有es6了,我从来不写var。
但是你既然问了,那就说下:const不可变,let可变,var可变并且携带几个作用域问题。
23.const声明的变量可以修改吗?const声明的对象的属性可以修改吗?
不可以/可以,存的是对象的引用
24.vue框架的一些原理
那我就给你一些解答。
25.vue的双向数据绑定
用Proxy或者getter/setter,实现了一个自动的发布订阅:render首次render的时候访问到getter就注册了变动监听,setter更改值的时候就通知注册的render进行更新。
26.vue实现数据劫持?
说人话
27.v-if和v-show的区别
不渲染/渲染但是不可见
28.vue的声明周期和钩子函数?
给我狠狠地背诵八股
29.vue实现组件间传值有哪些方法?
可用性高的就俩,一个是传递props与emit事件,一个是抽一个独立出来的store作为数据中介穿透在各个组件之间,反正实现了vue那套数据劫持的逻辑就行
30.vue中computed和watch的区别?
computed是带点魔法的watch,少写点代码加上有缓存
31.在vue中一般用哪个声明周期请求异步数据?
mount的时候
32.http常用的状态码
200 404 500 我只会这三个(骄傲
33.vue中$nextTick的原理及作用
一个神奇的hook,在vue把变动实际推送到页面上之后会调一下,用途就是让你能够读到变动数据后跟随而变化的dom
34.输入url到页面加载全过程
全文背诵全文背诵,特别是ssl和光栅化渲染这里,建议每一项展开和面试官吹一个小时,让他觉得你可取而代之
#面经##前端#
查看1道真题和解析