2019最新前端面试汇总

229
0

前端面试汇总:

前言

本文总结了一些优质的前端面试题(多数源于网络),初学者阅后也要用心钻研其中的原理,重要知识需要系统学习,透彻学习,形成自己的知识链。万不可投机取巧,只求面试过关是错误的!

面试有几点需注意:

1.面试题目: 根据你的等级和职位变化,入门级到专家级:范围↑、深度↑、方 向↑。

2.题目类型: 技术视野、项目细节、理论知识题,算法题,开放性题,案例题。

3.进行追问: 可以确保问到你开始不懂或面试官开始不懂为止,这样可以大大延 展题目的区分度和深度,知道你的实际能力。因为这种关联知识是长时期的学 习,绝对不是临时记得住的。

回答问题再棒,面试官(可能是你的直接领导面试),会考虑我要不要这个人做我的同事?所以态度很重要。(感觉更像是相亲)

资深的工程师能把absolute和relative弄混,这样的人不要也罢,因为团队需要的你这个人具有可以依靠的才能(靠谱)。

前端开发面试知识点大纲:

HTML&CSS:

​ 对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:布局、盒子模型、选择器优先级及使用、HTML5、CSS3、移动端适应

JavaScript:

​ 数据类型、面向对象、继承、闭包、插件、作用域、跨域、原型链、模块化、自定义事件、内存泄漏、事件机制、异步装载回调、模板引擎、Nodejs、JSON、ajax等。

其他:

HTTP、安全、正则、优化、重构、响应式、移动端、团队协作、可维护、SEO、UED、架构、职业生涯

前端工程师,必须掌握的知识点:

​ 1、DOM结构 —— 两个节点之间可能存在哪些关系以及如何在节点之间任意移动。

​ 2、DOM操作 ——如何添加、移除、移动、复制、创建和查找节点等。

​ 3、事件 —— 如何使用事件,以及IE和标准DOM事件模型之间存在的差别。

​ 4、XMLHttpRequest —— 这是什么、怎样完整地执行一次GET请求、怎样检测错误。

​ 5、严格模式与混杂模式 —— 如何触发这两种模式,区分它们有何意义。

​ 6、盒模型 —— 外边距、内边距和边框之间的关系,及IE8以下版本的浏览器中的盒模型

​ 7、块级元素与行内元素 —— 怎么用CSS控制它们、以及如何合理的使用它们

​ 8、浮动元素——怎么使用它们、它们有什么问题以及怎么解决这些问题。

​ 9、HTML与XHTML——二者有什么区别,你觉得应该使用哪一个并说出理由。

​ 10、JSON —— 作用、用途、设计结构。

………………

一.HTML&&CSS

1.CSS选择器有哪些?哪些属性可以被继承?

元素选择器、类选择器、 ID选择器、属性选择器、后代选择器、子元素选择器、相邻兄弟选择器、伪类、伪元素......

CSS继承特性主要是指文本方面的继承,常用的例如:font-size , color , font-family , font-weight , text-align , text-indent , line-height 等,都是可以继承的;而关于与盒模型相关的不带继承。

具体:

不可继承的:display、margin、border、padding、background、height、min-height、max-height、width、min-width、max-width、overflow、position、left、right、top、bottom、z-index、float、clear、table-layoutvertical-alignpage-break-after、page-bread-before。

所有元素可继承:visibility和cursor。

内联元素可继承:letter-spacingword-spacingwhite-spaceline-height、color、font、font-family、font-size、font-style、font-variant、font-weighttext-decoration、text-transform、direction。

终端块状元素可继承:text-indent和text-align。

列表元素可继承:list-style、list-style-type、list-style-position、list-style-image。

2.HTML5为什么只需要写<!DOCTYOE HTML>,作用是什么?

HTML5 不基于 SGML,所以不需要引用 DTD,因此没有声明DTD;

作用:<!DOCTYPE>声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。(浏览器获知文档类型);

(**在 HTML 4.01 中,<!DOCTYPE>声明引用 DTD,因为 HTML 4.01 基于 SGML。

SGML(Standard Generalized Markup Language),即标准通用标记语言;DTD (Document Type Definition)规定了标记语言的规则,这样浏览器才能正确地呈现内容。**).

3.CSS3中如何实现屏幕的自适应?

(1)添加在HTML页面的元元素<meta>,<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">;

( 2 )将CSS中的固定值修改为相对值;

( 3 )栅格系统(流式网格布局);

( 4 )CSS3的媒体查询;

4.HTML中放入CSS样式的几种方式。

内联样式:style=”属性:属性值;”

内部样式:

外部样式:

5.简述如何居中div,如何居中一个浮动的元素,如何让绝对定位的div居中?

绝对定位和浮动的元素居中:知道定位元素本身的宽高的话,例:宽高是300px position: absolute; left: 50%; top: 50%; margin:-150px 0 0 -150px;

水平垂直居中:

1 inline-block配合text-align加上table-cell配合vertical-align

.parent{

​ display: table-cell;

​ vertical-align:middle;

​ text-align:center;}

.child{

​ display: inline-block;}

2 absolute配合transform

.parent{

​ position: relative;}

.child{

​ position: absolute;

​ left: 50%;

​ top: 50%;

​ transform: translate(-50%,-50%);}

3.

.parent{

​ display: flex;

​ justify-content: center;

​ align-items: center;}

4. (水平居中)

.div{position: absolute;

width: 1200px;

background: none;

margin: 0 auto;

top: 0;

left: 0;

bottom: 0;

right: 0;

}

#####6.利用CSS实现等高布局

**i.****左侧宽度的30%****背景色为灰色,右侧宽度70%**背景色为红色

**ii.**左侧高度随着右侧高度变化而变化(右侧高度不定)

`利用padding-bottom|margin-bottom正负值相抵;```

`设置父容器设置超出隐藏(overflow:hidden),这样子父容器的高度就还是它里面的列没有设定padding-bottom时的高度,当它里面的任一列高度增加了,则父容器的高度被撑到里面最高那列的高度,其他比这列矮的列会用它们的padding-bottom补偿这部分高度差。```

<head>

       

<title>``等高布局``</title>

      

全部评论