022来了!再过几个月各个互联网大厂都会释放出大批社招的岗位出来,这个时候做好准备,去大厂、升职加薪的机会非常大!所以,不管你是社招还是校招,下面这份前端面试攻略,请收好。
【文末获取】
字节前端小姐姐可内推(文末)
不同于其他,工程师真的是一个终身学习的行业,尤其是前端领域,知识杂且多、网上资料还良莠不齐,想要靠自己梳理清楚确实不容易。
这里给大家分享一份由字节3-1前端面试官整理的「2021大厂前端面试手册」,内容囊括Html、CSS、Javascript、Vue、HTTP、浏览器面试题\数据结构与算法。全部整理在下方文档中,共计238道,文档结构如下:
JavaScript 深度剖析
前端工程化
Vue.js 框架源码与进阶
React 框架原理与实战
Node.js全栈式开发
???试
附送一份「资料包】部分截图
PDF已经打包完毕,希望对大家有帮助!看下图查看获取方式!
本文主要记录常用的html标签使用说明,用起来的时候偶尔查查。
标签 | 英文全拼 | 作用 | 特点 |
?<html></html>?? | html | 网页的根标签 | 所有的标签都要写在这一对根标签里面 |
??<head></head>?? | head | 网页的头标签 | 包括完档的属性和信息 |
??<body></body>?? | body | 网页的主题 | 包含文档的所有内容 |
??<div></div>?? | division | 定义一个区域 | 浏览器通常会在??<div>??前后放置一个换行符 |
??<!-- 注释 -->?? | - | 注释 | 单标签 |
??<br>或<br/>?? | break | 换行 | 单标签,不会在其前后创建空白行 |
??<hr>或<hr/>?? | horizontal rule | 添加水平线 | 单标签 |
??<img src="">?? | image | 添加图片 | 单标签 |
??<embed src="">?? | embed | 嵌入外部应用 | 单标签 |
??<meta>?? | meta | 提供有关页面的元信息 | 单标签,??<meta>???标签通常位于??<head>??区域内 |
??<link>?? | link | 定义文档与外部资源的关系 | 单标签,??<link>???标签只能存在于??<head>??区域内,不过它可出现任何次数。 |
??<p></p>?? | paragraph | 定义段落 | 自动在其前后创建空白行 |
??<h1> to <h6>?? | Header 1 to Header 6 | 定义标题 | h1在一个页面里只能出现一次 |
??<strong></strong>?? | strong | 文本加粗 | 加粗标记该文本 |
??<b></b>?? | bold | 文本加粗 | 加粗显示文本,不推荐使用 |
??<em></em>?? | emphasize | 文本倾斜 | 倾斜标记文本 |
??<i></i>?? | italic | 文本倾斜 | 倾斜显示文本,不推荐使用 |
??<del></del>?? | delete | 文本添加删除线 | - |
??<s></s>?? | strike | 文本添加删除线 | 不推荐使用 |
??<ins></ins>?? | insert | 文本添加下划线 | - |
??<u></u>?? | underline | 文本添加下划线 | 不推荐使用 |
??<a href="">填写内容</a>?? | anchor | 添加超链接 | 最好使用CSS来改变链接的样式 |
??<ul></ul>?? | unordered list | 定义无序列表 | 通常与??<li>??标签一起使用 |
??<ol></ol>?? | ordered list | 定义有序列表 | 通常与??<li>??标签一起使用 |
??<li></li>?? | list item | 创建列表项 | 可与各种列表定义标签一起使用 |
??<dl></dl>?? | definition list | 定义描述列表 | 通常与??<dt>???和??<dd>??一起使用 |
??<dt></dt>?? | definition term | 定义条目 | 定义描述列表的项目 |
??<dd></dd>?? | definition description | 定义描述 | 对描述列表中的项目进行描述 |
??<table></table>?? | table | 定义HTML表格 | 尽可能通过样式改变表格外观 |
??<tr></tr>?? | table row | 定义表格的行 | 一个??<tr>???标签包含一个或多个??<th>???或??<td>??标签 |
??<th></th>?? | table headline | 定义表格每一列的标题 | 该标签的文本通常呈现为粗体且居中 |
??<td></td>?? | table data | 定义表格中的单元格数据 | 该标签的文本呈现为普通且左对齐 |
??<caption>表格标题</caption>?? | caption | 定义整个表格的标题 | ??<caption>???标签必须直接放在??<table>??标签后 |
??<input type="">?? | input | 定义输入控件 | 输入字段可通过多种方式改变,取决于type属性 |
??select?? | select | 定义下拉列表 | ??<select>???中的??<option>??标签定义了列表中的可用选项 |
??<option></option>?? | option | 定义下拉列表中的可用项 | ??<option>??标签不可自由定义宽高 |
??<optgroup></optgroup>?? | options group | 定义选项组 | ??<optgroup>??标签用于把相关的选项组合在一起 |
??<textarea></textarea>?? | textarea | 定义多行的文本输入控件 | 文本的默认字体是等宽字体 |
??<form></form>?? | form | 定义表单 | ??<form>??可以包含多个元素 |
??<fieldset></fieldset>?? | field set | 定义围绕表单中元素的边框 | ??<legend>???为??<fieldset>??定义标题 |
??<legend></legend>?? | legend | 为??<fieldset>??定义标题 | ??<legend>??通过css设定样式 |
??<progress></progress>?? | progress | 定义运行中的任务进度 | ??<progress>???是HTML5中的新标签,??<progress>??标签不适合用来表示度量衡 |
??<meter></meter>?? | meter | 度量衡 | ??<meter>???是HTML5的新标签,??<meter>??标签不适合用来表示进度条 |
??<audio></audio>?? | audio | 添加音频 | ??<audio>??标签是HTML5的新标签 |
??<video></video>?? | video | 添加视频 | ??<video>??标签是HTML5的新标签 |
??<source>?? | source | 定义媒介资源 | ??<source>??标签是HTML5中的新标签 |
普通用法
锚点链接
锚点链接通过点击超链接,自动跳转到我们设置锚点的位置,类似于word的目录导航。建立锚点的元素必须要有id或name属性,最好两个都有。这里只跳转本页面元素,其他页面跳转自行搜索。
具体做法如下:
示例如下。为了显示效果,通过使用lorem自动生成随机文本(具体使用方法搜索,一般直接输入就行),lorem*50表示重复lorem15次。
<a href="#id2">a</a>
<p id="id1">
(lorem*15)
</p>
(lorem*15)
<p id="id2">
(lorem*15)
</p>
超链接全局设置
在页面head中写入代码可以设置超链接的全局跳转设置
<head>
<!-- 让页面所有的超链接新页面打开 -->
<base target="_blank">
</head>
charset编码
name
网页自动跳转
无序列表
无序列表使用粗体圆点进行标记。简单示例如下。
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
...
</ul>
有序列表
有序列表使用数字进行标记,我们可以通过整数值start指定列表编号的起始值。简单示例如下。
<ol start="2">
<li>a</li>
<li>b</li>
<li>c</li>
...
</ol>
描述列表
通过描述列表自定义列表,列表项内部可以使用段落、换行符、图片、链接以及其他列表等等。简单示例如下。
<dl>
<dt>A</dt> <!-- 小标题 -->
<dd>A1</dd> <!-- 解释标题 -->
<dd>A2</dd> <!-- 解释标题 -->
<dt>B</dt> <!-- 小标题 -->
<dd>B1</dd> <!-- 解释标题 -->
<dd>B2</dd> <!-- 解释标题 -->
</dl>
基础表格
简单示例如下。
<table width="300px" height="100px" border="2" cellspacing="5px" cellpadding="0">
<caption>表格标题</caption> <!-- 定义表格标题 -->
<tr>
<!-- 定义表格的行 -->
<td>A1</td> <!-- 定义表格该行第一列中的数据 -->
<td>B1</td>
<td>C1</td>
</tr>
<tr>
<!-- 定义表格的行 -->
<th>A</th> <!-- 定义表格每一列的标题 -->
<th>B</th>
<th>C</th>
</tr>
<tr>
<td>A2</td>
<td>B2</td>
<td>C2</td>
</tr>
</table>
单元格合并
简单示例如下。
<table border="2" cellspacing="1px" width="400px" height="100px">
<caption><strong>表格标题</strong></caption> <!-- 定义表格标题 -->
<tr height="100">
<!-- 定义表格的行 -->
<td colspan="2">A1</td> <!-- 定义该行可以横跨两列 -->
<td>B1</td>
</tr>
<tr height="100">
<td>A2</td>
<td>B2</td>
<td rowspan="2">C</td> <!-- 定义该行可以横跨两行 -->
</tr>
<tr height="100">
<td>A3</td>
<td>B3</td>
</tr>
</table>
对于??<input>??不同的type属性值,输入字段拥有很多种形式。输入字段可以是文本字段、复选框、掩码后的文本控件、单选按钮、按钮等等。
文本输入框
简单示例如下。
<input type="text" name="username" maxlength="6" readonly="readonly" disabled="disabled" value="用户名">
密码输入框
简单示例如下。
<input type="password" name="pwd" maxlength="6" readonly="readonly" disabled="disabled" value="密码">
单选框
示例一,两个单选框都可以被选中
<div>
<input type="radio" name="man" checked="checked">男
</div>
<div>
<input type="radio" name="woman">女
</div>
示例二,两个单选框只能有一个被选中
<div>
<input type="radio" name="gender" checked="checked">男
</div>
<div>
<input type="radio" name="gender">女
</div>
下拉列表
??<select>??
??<optgroup>??
??<option>??
示例一,单选下拉列表
<select>
<option value="a">a</option>
<option value="b">b</option>
<option value="c" selected='selected'>c</option> <!-- 默认选中 -->
</select>
示例二,带组合的单选下拉列表
<select>
<optgroup label="A">
<option value="a1">a1</option>
<option value="a2" selected='selected'>a2</option>
</optgroup>
<optgroup label="B">
<option value="b1">b1</option>
<option value="b2">b2</option>
</optgroup>
</select>
示例三,带组合的多选下拉列表
<select multiple=”multiple”>
<optgroup label="A">
<option value="a1">a1</option>
<option value="a2" selected='selected'>a2</option>
</optgroup>
<optgroup label="B">
<option value="b1" selected='selected'>b1</option>
<option value="b2">b2</option>
</optgroup>
</select>
多选框
简单示例如下。
<input type="checkbox" checked="checked">A
<input type="checkbox">B
文本框
简单示例如下。
<textarea cols="5" rows="2" placeholder="text"></textarea>
文本上传控件
简单示例如下。
<input type="file" accept="image/gif, image/jpeg"/>
其他类型按钮
<input type="submit">文件提交按钮
<input type="button" value="">普通按钮
<input type="image" src="">图片按钮
<input type="reset">重置按钮
<input type="url">网址控件
<input type="date">日期控件
<input type="time">时间控件
<!--email提供了邮箱的完整验证,必须包含@和后缀,如果不满足验证,会阻止表单提交-->
<input type="email">邮件控件
<input type="number" step="3">数字控件
<input type="range" step="100">滑块控件
<input type="color">颜色控件
表单
示例一,普通表单
<form>
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<input type="submit" value="提交">
</form>
示例二,带分组信息表单
<form>
<fieldset>
<legend>Personalia:</legend>
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<input type="submit" value="提交">
</fieldset>
First nameA: <input type="text" name="fname"><br>
Last nameB: <input type="text" name="lname"><br>
</form>
??<progress>???与??<meter>??主要区别和用法见??HTML5 progress和meter控件??
??<progress>??
简单示例如下。
<progress value="60" max="100"></progress>
??<meter>??
简单示例如下
<meter min="0" low="40" high="90" max="100" value="91"></meter>
<meter min="0" low="40" high="90" max="100" value="90"></meter>
??<audio>??
简单示例如下
<audio src="demo.mp3" controls autoplay></audio>
??<video>??
简单示例如下
<video src="demo.mp4" controls autoplay height="500px" poster="0.jpg"></video>
??<source>??
简单示例如下
<video controls>
<source src="demo.mp3" type="audio/mp3">
<source src="demo.mp4" type="video/mp4">
您的浏览器不支持video元素。
</video>
??HTML特殊字符编码对照表??
国内,web开发工程师相当吃香。正是因为如此,很多人都想自学JavaScript。但是对于JavaScript初学者来说,需要一些书籍手把手的教。没担心,今天W3Cschool小师妹就为大家带来十本的自学书籍,希望可以帮助大家自学JavaScript。
1.JavaScript Dom编程艺术
这是入门JavaScript的一本好书,这本书相当详细、实用、简洁、易懂,而且书本不厚。这本书详细介绍了JS的历史、基础的语法知识、DOM介绍以及简单使用。
2.JavaScript权威指南(第5版)
这本书非常权威,而且确实蛮强大的。但是这本书有点小贵,这是它的缺点吧。这本书是JS的一个文档手册,内容相当详细。
3.Eloquent Javascript
这本书的作者是 Marijn Haverbeke,主要内容是介绍编程以及JavaScript的现代化。
4.Professor Frisby’s Mostly Adequate Guide to Functional Programming
Professor Frisby’s Mostly Adequate Guide to Functional Programming的内容主要包括JavaScript函数式的编程。
5.What is Code?
What is Code?的作者是Paul Ford,他的文章主要写的是代码的定义,以及代码有什么重要性。
6.JavaScript spessore
JavaScript spessore的作者是Reginald Braithwaite,这本书的内容主要包括函数式的编程以及闭包,还有原型。
7.JavaScript高级程序设计
这本书的作者是雅虎前端工程师,他出了很多书,基本上都受到了很多读者的欢迎。这本书介绍的是DOM以及JS相关的语法知识。
8.高性能JavaScript
这本书的作者是Nicholas C.Zakas ,也是他的经典作品。这本书举例了非常多不同写法的JavaScript在浏览器中的性能情况,可以对JavaScript代码进行规范。
9.Programming JavaScript Applications
如果上面的书籍都看完了,那么这本书籍你绝对不容错过。Programming JavaScript Applications属于中级的一本书,是JavaScript编码内容。
10.Cracking the Coding Interview
这本书非常流行,尤其是在国外。一般程序员要去谷歌、微软、facebook等公司面试的时候,都要先看这本书。
上面W3Cschool小师妹为大家整理的JavaScript自学书籍,基本上是入门书籍。只要最后的几本,才是中级书籍。如果你正在自学JavaScript,那么可以把这些书籍收入麾下,相信他们会给你带来惊喜。
学编程技术,就到W3Cschool,如果你喜欢我们的文章,可以点击右上角关注我们;如果你想看到更多IT界的资讯,可以加我们的公众号。
公众号:w3cschoolcn
*请认真填写需求信息,我们会在24小时内与您取得联系。