得意犹堪夸世俗,诏黄新湿字如鸦。这篇文章主要讲述2021前端校招直通车,实现Offer零距离相关的知识,希望能为你提供帮助。
??立即下载??
??立即下载??
都说金9银10,节前自己也去面试了几家公司,幸而都收到了offer。如今已经办理好了离职手续,闲来有空,整理一番,希望对各位节后找工作有帮助。说在前面,我的答案仅供参考。答案有不全或有偏颇之处,欢迎各位在评论区补充及指正。
一面都比较偏基础,大部分题目都会,即使不会也似曾相识,都能说上几句。但为什么有些人能过有些人过不了,这就是考查你的基础知识是否全面且扎实。会是应该的,但你的答案一定要详细并且有些题要说出多种答案。这就需要各位平常的积累了
csscalc, support, media各自的含义及用法?@support主要是用于检测浏览器是否支持CSS的某个属性,其实就是条件判断,如果支持某个属性,你可以写一套样式,如果不支持某个属性,你也可以提供另外一套样式作为替补。
calc() 函数用于动态计算长度值。 calc()函数支持 "+", "-", "*", "/" 运算;
@media 查询,你可以针对不同的媒体类型定义不同的样式。
css水平、垂直居中的写法,请至少写出4种?这题考查的是css的基础知识是否全面,所以平时一定要注意多积累
水平居中
垂直居中?text-align: center?
??margin: 0 auto?
??display:flex + justify-content: center?
?
1rem、1em、1vh、1px各自代表的含义??display:flex + align-items: center?
?rem
rem是全部的长度都相对于根元素<
html>
元素。通常做法是给html元素设置一个字体大小,然后其他元素的长度单位就为rem。
em
vw/vh
全称是 Viewport Width 和 Viewport Height,视窗的宽度和高度,相当于 屏幕宽度和高度的 1%,不过,处理宽度的时候%单位更合适,处理高度的 话 vh 单位更好。
px
px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。
一般电脑的分辨率有1920*1024等不同的分辨率
1920*1024 前者是屏幕宽度总共有1920个像素,后者则是高度为1024个像素
画一条0.5px的直线?考查的是css3的transform
height: 1px;
transform: scale(0.5);
说一下盒模型?盒模型是css中重要的基础知识,也是必考的基础知识
盒模型的组成,由里向外content,padding,border,margin.
在IE盒子模型中,width表示content+padding+border这三个部分的宽度
在标准的盒子模型中,width指content部分的宽度
box-sizing的使用
box-sizing: content-box 是W3C盒子模型
box-sizing: border-box 是IE盒子模型
box-sizing的默认属性是content-box
画一个三角形?这属于简单的css考查,平时在用组件库的同时,也别忘了原生的css
.a
width: 0;
height: 0;
border-width: 100px;
border-style: solid;
border-color: transparent #0099CC transparent transparent;
transform: rotate(90deg);
/*顺时针旋转90°*/
<
div class="a">
<
/div>
清除浮动的几种方式,及原理?清除浮动简单,但这题要引出的是BFC,BFC也是必考的基础知识点
?::after / <
br>
/ clear: both?
??BFC?
?(overflow:hidden)BFC (块级格式化上下文),是一个独立的渲染区域,让处于
?
触发条件:?BFC?
?
内部的元素与外部的元素相互隔离,使内外元素的定位不会相互影响。
规则:?position: absolute/fixed?
??display: inline-block / table?
??float?
?
元素?ovevflow !== visible?
?
html说一下<
label>
标签的用法label标签主要是方便鼠标点击使用,扩大可点击的范围,增强用户操作体验?BFC?
?
的两个相邻
??Box?
?
垂直排列?BFC?
?
的两个相邻
??Box?
?
的
??margin?
?
会发生重叠?BFC?
?
的区域不会与
??float?
?
的元素区域重叠?BFC?
?
的高度时,浮动子元素也参与计算
遍历A节点的父节点下的所有子节点这题考查原生的js操作dom,属于非常简单的基础题,但长时间使用mvvm框架,可能会忘记
<
script>
var b=document.getElementById("a").parentNode.children;
console.log(b)
<
/script>
js用js递归的方式写1到100求和?递归我们经常用到,vue在实现双向绑定进行数据检验的时候用的也是递归,但要我们面试的时候手写一个递归,如果对递归的概念理解不透彻,可能还是会有一些问题。
function add(num1,num2)
var num = num1+num2;
if(num2+1>
100)
return num;
else
return add(num,num2+1)
var sum =add(1,2);
页面渲染html的过程?不需要死记硬背,理解整个过程即可
浏览器渲染页面的一般过程:
1.浏览器解析html源码,然后创建一个 DOM树。并行请求 css/image/js在DOM树中,每一个HTML标签都有一个对应的节点,并且每一个文本也都会有一个对应的文本节点。DOM树的根节点就是 documentElement,对应的是html标签。
2.浏览器解析CSS代码,计算出最终的样式数据。构建CSSOM树。对CSS代码中非法的语法它会直接忽略掉。解析CSS的时候会按照如下顺序来定义优先级:浏览器默认设置 <
用户设置 <
外链样式 <
内联样式 <
html中的style。
3.DOM Tree + CSSOM -->
渲染树(rendering tree)。渲染树和DOM树有点像,但是是有区别的。
DOM树完全和html标签一一对应,但是渲染树会忽略掉不需要渲染的元素,比如head、display:none的元素等。而且一大段文本中的每一个行在渲染树中都是独立的一个节点。渲染树中的每一个节点都存储有对应的css属性。
4.一旦渲染树创建好了,浏览器就可以根据渲染树直接把页面绘制到屏幕上。
以上四个步骤并不是一次性顺序完成的。如果DOM或者CSSOM被修改,以上过程会被重复执行。实际上,CSS和javascript往往会多次修改DOM或者CSSOM。
说一下CORS?CORS是一种新标准,支持同源通信,也支持跨域通信。fetch是实现CORS通信的
如何中断ajax请求?一种是设置超时时间让ajax自动断开,另一种是手动停止ajax请求,其核心是调用XML对象的abort方法,ajax.abort()
说一下事件代理?事件委托是指将事件绑定到目标元素的父元素上,利用冒泡机制触发该事件
ulEl.addEventListener(click, function(e)
var target = event.target || event.srcElement;
if(!!target &
&
target.nodeName.toUpperCase() === "LI")
console.log(target.innerHTML);
, false);
target、currentTarget的区别?currentTarget当前所绑定事件的元素
target当前被点击的元素
说一下宏任务和微任务?
说一下继承的几种方式及优缺点?说比较经典的几种继承方式并比较优缺点就可以了
原型链继承的缺点
借用构造函数(类式继承)
组合式继承
说一下闭包?闭包的实质是因为函数嵌套而形成的作用域链
闭包的定义即:函数
??A?
?
内部有一个函数
??B?
?,函数
??B?
?
可以访问到函数
??A?
?
中的变量,那么函数
??B?
?
就是闭包
export和export default的区别?使用上的不同
export defaultxxx
import xxx from ./
export xxx
import xxx from ./
说一下自己常用的es6的功能?此题是一道开放题,可以自由回答。但要注意像let这种简单的用法就别说了,说一些经常用到并有一定高度的新功能
像module、class、promise等,尽量讲的详细一点。
什么是会话cookie,什么是持久cookie?【2021前端校招直通车,实现Offer零距离】cookie是服务器返回的,指定了expire time(有效期)的是持久cookie,没有指定的是会话cookie
推荐阅读
- 自动化快速部署OpenStack Train版控制节点
- 全网稀缺的DDD(领域驱动设计)思想解读及落地指南
- 笨叔(用4维空间来理解进程负载)
- HCIE-Security Day2(防火墙安全区域理解实验)
- #yyds干货盘点#Linux系统文件权限与归属
- 用于WordPress插件开发的7个精彩的工具
- 如何使用Python生成罗马风格的马赛克(代码实现)
- 如何修改Windows 10环境变量(详细图解)
- 每个开发人员都应该知道的9个方便的Git命令