说起来,也浪了一年了,金三银四思无邪,又快到了跳槽的淡季。
想想你 #b 的公司和 #b 的老板,还有说不出口的工资,不能再回避了,怯懦面对吧,后果肯定不会辜负你的致力的。
面试题搞起来。题目答案仅供参考。
根底篇 HTML、HTTP、web 综合问题(1)
1. 前端须要留神哪些 SEO
① 正当的 title、description、keywords , 搜索引擎对这三项的权重逐次减小,title 值强调重点即可,重要关键词呈现不要超过 2 次,并且要靠前,不同页面的 title 要有所不同;description 尽量把页面内容高度概括,长度适合,不要过分堆砌关键词,不同页面的 description 也要有所不同;keywords 列举出重要关键词即可
② 语义化的 HTML 代码,合乎 W3C 标准:语义化代码让搜索引擎容易了解网页
③ 重要内容 HTML 代码放在最前:搜索引擎抓取 HTML 程序是从上到下,有的搜索引擎对抓 取长度有限度,保障重要内容肯定会被抓取
④ 重要内容尽量不要用 js 输入:爬虫不会执行 js 获取内容
⑤ 少应用 iframe:搜索引擎不会抓取 iframe 中的内容
⑥ 非装饰性图片必须加 alt
⑦ 进步网站速度:网站速度是搜索引擎排序的一个重要指标
2. <img> 的 title 和 alt 有什么区别
title 属性
① title 属性并不是必须的。
② title 属性规定元素的额定信息,有视觉效果,当鼠标放到文字或是图片上时有文字显示。
③ title 属性并不作为搜索引擎抓取图片的参考,更多偏向于用户体验的思考。
alt 属性
① alt 属性是思考到不反对图像显示或者图像显示被敞开的浏览器的用户,以及视觉阻碍的用户和应用屏幕阅读器的用户。当图片不显示的时候,图片的替换文字。
② alt 属性值的长度必须少于 100 个英文字符
③ alt 属性是 img 标签的必须属性,如果没有特地意义的图片,能够写 alt=””
④ alt 属性是搜索引擎判断图片与文字是否相干的重要依据,alt 属性增加到 img 次要的目标才是为了 SEO
3.HTTP 常见的申请办法及作用
① GET 办法 发送一个申请来获得服务器上的某一项资源
② POST 办法 向 URL 指定的资源提交数据或附加新的数据
③ PUT 办法 跟 POST 办法很像,也是向服务器提交数据。但它们之间有不同,PUT 指定了资源在服务器上的地位,而 POST 没有
④ HEAD 办法 只申请页面的首部
⑤ DELETE 办法 删除服务器上的某资源
⑥ OPTIONS 办法 它用于获取以后 URL 所反对的办法。如果申请胜利,会有一个 Allow 的头蕴含类 似“GET,POST”这样的信息
⑦ TRACE 办法 被用于激发一个近程的,应用层的申请音讯回路
⑧ CONNECT 办法 把申请连贯转换到通明的 TCP/IP 通道
4. 从浏览器地址栏输⼊ url 到显示⻚⾯的步骤(三个版本,自取所需)
根底版本:
1)浏览器依据申请的 URL 交给 DNS 域名解析,找到实在 IP,向服务器发动申请;
2)服务器交给后盾解决实现后返回数据,浏览器接管⽂件(HTML、JS、CSS、图象等);
3)浏览器对加载到的资源(HTML、JS、CSS 等)进⾏语法解析,建⽴相应的外部数据结构(如 HTML 的 DOM);
4)载⼊解析到的资源⽂件,渲染⻚⾯,实现。
具体版:
1)在浏览器地址栏输⼊ URL
2)浏览器查看缓存,如果申请资源在缓存中并且陈腐,跳转到转码步骤
a. 如果资源未缓存,发动新申请
b. 如果已缓存,测验是否⾜够陈腐,⾜够陈腐间接提供给客户端,否则与服务器进⾏验证
c. 测验陈腐通常有两个 HTTP 头进⾏管制 Expires 和 Cache-Control:
HTTP1.0 提供 Expires,值为⼀个相对工夫示意缓存陈腐⽇期
HTTP1.1 减少了 Cache-Control: max-age=, 值为以秒为单位的最⼤陈腐工夫
3)浏览器解析 URL 获取协定,主机,端⼝,path
4)浏览器组装⼀个 HTTP(GET)申请报⽂
5)浏览器获取主机 ip 地址,过程如下:
a. 浏览器缓存
b. 本机缓存
c. hosts ⽂件
d. 路由器缓存
e. ISP DNS 缓存
f. DNS 递归查问(可能存在负载平衡导致每次 IP 不⼀样)
6)关上⼀个 socket 与⽬标 IP 地址,端⼝建⽴ TCP 链接,三次握⼿如下:
a. 客户端发送⼀个 TCP 的 SYN=1,Seq= X 的包到服务器端⼝
b. 服务器发回 SYN=1,ACK=X+1,Seq= Y 的响应包
c. 客户端发送 ACK=Y+1,Seq=Z
7)TCP 链接建⽴后发送 HTTP 申请
8)服务器承受申请并解析,将申请转发到服务程序,如虚拟主机使⽤ HTTP Host 头部判断申请的服务程序
9)服务器查看 HTTP 申请头是否蕴含缓存验证信息如果验证缓存陈腐,返回 304 等对应状态码
10)处理程序读取残缺申请并筹备 HTTP 响应,可能须要查询数据库等操作
11)服务器将响应报⽂通过 TCP 连贯发送回浏览器
12)浏览器接管 HTTP 响应,而后依据状况抉择敞开 TCP 连贯或者保留重⽤,敞开 TCP 连贯的四次握⼿如下:
a. 被动⽅发送 Fin=1,Ack=Z,Seq= X 报⽂
b. 被动⽅发送 ACK=X+1,Seq= Z 报⽂
c. 被动⽅发送 Fin=1,ACK=X,Seq= Y 报⽂
d. 被动⽅发送 ACK=Y,Seq= X 报⽂
13)浏览器查看响应状态吗:是否为 1XX,3XX,4XX,5XX,这些状况解决与 2XX 不同
14)如果资源可缓存,进⾏缓存
15)对响应进⾏解码(例如 gzip 压缩)
16)依据资源类型决定如何解决(假如资源为 HTML ⽂档)
17)解析 HTML ⽂档,构件 DOM 树,下载资源,结构 CSSOM 树,执⾏ js 脚本,这些操作没有严格的先后顺序,以下别离解释
18)构建 DOM 树:
a. Tokenizing:依据 HTML 标准将字符流解析为标记
b. Lexing:词法剖析将标记转换为对象并定义属性和规定
c. DOM construction:依据 HTML 标记关系将对象组成 DOM 树
19)解析过程中遇到图⽚、样式表、js ⽂件,启动下载
20)构建 CSSOM 树:
a. Tokenizing:字符流转换为标记流
b. Node:依据标记创立节点
c. CSSOM:节点创立 CSSOM 树
21)依据 DOM 树和 CSSOM 树构建渲染树 :
a. 从 DOM 树的根节点遍历所有可⻅节点,不可⻅节点包含:
1)script , meta 这样自身不可⻅的标签。
2)被 css 暗藏的节点,如 display: none
b. 对每⼀个可⻅节点,找到失当的 CSSOM 规定并应⽤
c. 公布可视节点的内容和计算款式
22)js 解析如下:
a. 浏览器创立 Document 对象并解析 HTML,将解析到的元素和⽂本节点增加到⽂档中,此时 document.readystate 为 loading
b. HTML 解析器遇到没有 async 和 defer 的 script 时,将他们增加到⽂档中,而后执⾏⾏内或内部脚本。这些脚本会同步执⾏,并且在脚本下载和执⾏时解析器会暂停。这样就能够⽤ document.write()把⽂本插⼊到输⼊流中。同步脚本常常简略定义函数和注册事件处理程序,他们能够遍历和操作 script 和他们之前的⽂档内容
c. 当解析器遇到设置了 async 属性的 script 时,开始下载脚本并持续解析⽂档。脚本会在它下载实现后尽快执⾏,然而解析器不会停下来等它下载。异步脚本禁⽌使⽤ document.write(),它们能够拜访⾃⼰ script 和之前的⽂档元素
d. 当⽂档实现解析,document.readState 变成 interactive
e. 所有 defer 脚本会依照在⽂档呈现的程序执⾏,提早脚本能拜访残缺⽂档树,禁⽌使⽤ document.write()
f. 浏览器在 Document 对象上触发 DOMContentLoaded 事件
g. 此时⽂档齐全解析实现,浏览器可能还在期待如图⽚等内容加载,等这些内容实现载⼊并且所有异步脚本实现载⼊和执⾏,document.readState 变为 complete,window 触发 load 事件
23)显示⻚⾯(HTML 解析过程中会逐渐显示⻚⾯)
具体简版:
1)从浏览器接管 url 到开启⽹络申请线程(这⼀局部能够开展浏览器的机制以及过程与线程之间的关系)
2)开启⽹络线程到收回⼀个残缺的 HTTP 申请(这⼀局部波及到 dns 查问,TCP/IP 申请,五层因特⽹协定栈等常识)
3)从服务器接管到申请到对应后盾接管到申请(这⼀局部可能波及到负载平衡,平安拦挡以 及后盾外部的解决等等)
4)后盾和前台的 HTTP 交互(这⼀局部包含 HTTP 头部、响应码、报⽂构造、cookie 等常识,能够提下动态资源的 cookie 优化,以及编码解码,如 gzip 压缩等)
5)独自拎进去的缓存问题,HTTP 的缓存(这部分包含 http 缓存头部,ETag,catch- control 等)
6)浏览器接管到 HTTP 数据包后的解析流程(解析 html - 词法剖析而后解析成 dom 树、解析 css ⽣成 css 规定树、合并成 render 树,而后 layout、painting 渲染、复合图层的合成、GPU 绘制、外链资源的解决、loaded 和 DOMContentLoaded 等)
7)CSS 的可视化格局模型(元素的渲染规定,如蕴含块,管制框,BFC,IFC 等概念)
8)JS 引擎解析过程(JS 的解释阶段,预处理阶段,执⾏阶段⽣成执⾏高低⽂,VO,作⽤域链、回收机制等等)
9)其它(能够拓展不同的常识模块,如 跨域,web 平安,hybrid 模式等等内容)
5. 如何进⾏⽹站性能优化:
A- content ⽅⾯:
缩小 HTTP 申请:合并⽂件、CSS 精灵、inline Image
缩小 DNS 查问:DNS 缓存、将资源散布到失当数量的主机名
缩小 DOM 元素数量
B- Server ⽅ ⾯
使 ⽤ CDN
配置 ETag
对组件使⽤ Gzip 压缩
C- Cookie ⽅ ⾯
减⼩ cookie ⼤⼩
D- css ⽅ ⾯
将样式表放到⻚⾯顶部
不使⽤ CSS 表达式
使⽤ <link> 不使⽤ @import
E- Javascript ⽅ ⾯
将脚本放到⻚⾯底部
将 javascript 和 css 从内部引⼊
压 缩 javascript 和 css
删除不须要的脚本
缩小 DOM 拜访
F- 图⽚⽅⾯
优化图⽚:依据理论颜⾊须要抉择⾊深、压缩
优 化 css 精 灵
不要在 HTML 中拉伸图⽚
6- HTTP 状态码及其含意
1XX:信息状态码
100 Continue 持续,⼀般在发送 post 申请时,已发送了 http header 之后服务端将返回此信息,示意确认,之后发送具体参数信息
2XX:胜利状态码
200 OK 失常返回信息
201 Created 申请胜利并且服务器创立了新的资源
202 Accepted 服务器已承受申请,但尚未解决
3XX:重定向
301 Moved Permanently 申请的⽹⻚已永恒挪动到新地位。
302 Found 临时性重定向。
303 See Other 临时性重定向,且总是使⽤ GET 申请新的 URI。
304 Not Modified ⾃从上次申请后,申请的⽹⻚未修改过。
4XX:客户端谬误
400 Bad Request 服务器⽆法了解申请的格局,客户端不该当尝试再次使⽤雷同的内容发动申请。
401 Unauthorized 申请未受权。
403 Forbidden 禁⽌拜访。
404 Not Found 找不到如何与 URI 相匹配的资源。
5XX: 服务器谬误
500 Internal Server Error 最常⻅的服务器端谬误。
503 Service Unavailable 服务器端临时⽆法解决申请(可能是过载或保护)。
7. 语义化的了解 - ⽤正确的标签做正确的事件!
HTML 语义化就是让⻚⾯的内容结构化,便于对浏览器、搜索引擎解析;
在没有款式 CSS 状况下也以⼀种⽂档格局显示,并且是容易浏览的;
搜索引擎的爬⾍依赖于标记来确定高低⽂和各个关键字的权重,利于 SEO;
使浏览源代码的⼈对⽹站更容易将⽹站分块,便于浏览保护了解;
8. 介绍⼀下你对浏览器内核的了解?
次要分成两局部:渲染引擎 (layout engineer 或 Rendering Engine) 和 JS 引擎
渲染引擎:负责获得⽹⻚的内容(HTML、XML、图像等等)、整顿讯息(例如加⼊ CSS 等),以及计算⽹⻚的显示⽅式,而后会输入⾄显示器或打印机。浏览器的内核的不同对于⽹⻚的语法解释会有不同,所以渲染的成果也不雷同。所有⽹⻚浏览器、电⼦邮件客户端以及其它须要编辑、显示⽹络内容的应⽤程序都须要内核
JS 引擎则:解析和执⾏ javascript 来实现⽹⻚的动态效果
最开始 渲染引擎 和 JS 引擎 并没有辨别的很明确,起初 JS 引擎越来越独⽴,内核就偏向于只指渲染引擎
9. html5 有哪些新个性、移除了那些元素?
a- HTML5 当初曾经不是 SGML 的⼦集,次要是对于图像,地位,存储,多任务等性能的减少
绘 画 canvas
⽤于媒介回放的 video 和 audio 元素
本地离线存储 localStorage ⻓期存储数据,浏览器敞开后数据不失落
sessionStorage 的数据在浏览器敞开后⾃动删除
语意化更好的内容元素,⽐如 article、footer、header、nav、section
表单控件,calendar、date、time、email、url、search
新 的 技 术 webworker、websocket、Geolocation
b- 移除的元素:
纯体现的元素:basefont、big、center、font、s、strike、tt、u
对可⽤性产⽣负⾯影响的元素:frame、frameset、noframes
c- ⽀持 HTML5 新标签:
IE8/IE7/IE6 ⽀持通过 document.createElement ⽅法产⽣的标签
能够利⽤这⼀个性让这些浏览器⽀持 HTML5 新标签
浏览器⽀持新标签后,还须要增加标签默认的款式
d- 当然也能够间接使⽤成熟的框架、⽐如 html5shim
10. HTML5 的离线贮存怎么使⽤,⼯作原理能不能解释⼀下?
在⽤户没有与因特⽹连贯时,能够失常拜访站点或应⽤,
在⽤户与因特⽹连贯时,更新⽤户机器上的缓存⽂件
原理:
HTML5 的离线存储是基于⼀个新建的 .appcache ⽂件的缓存机制(不是存储技术),通过这个⽂件上的解析清单离线存储资源,这些资源就会像 cookie ⼀样被存储下来。之后当⽹络在处于离线状态下时,浏览器会通过被离线存储的数据进⾏⻚⾯展现
如何使⽤:
⻚⾯头部像下⾯⼀样加⼊⼀个 manifest 的属性;在 cache.manifest ⽂件的编写离线存储的资源
在离线状态时,操作 window.applicationCache 进⾏需要实现
CACHE MANIFEST #v0.11
CACHE:
js/app.js css/style.css
NETWORK:
resourse/logo.png
FALLBACK:
/offline.html
11. 浏览器是怎么对 HTML5 的离线贮存资源进⾏治理和加载的呢?
在线的状况下,浏览器发现 html 头部有 manifest 属性,它会申请 manifest ⽂件,如果是第⼀次访问 app,那么浏览器就会依据 manifest ⽂件的内容下载相应的资源并且进⾏离线存储。
如果曾经拜访过 app 并且资源曾经离线存储了,那么浏览器就会使⽤离线的资源加载⻚⾯,而后浏览器会对⽐新的 manifest ⽂件与旧的 manifest ⽂件,
如果⽂件没有发⽣扭转,就不做任何操作,
如果⽂件扭转了,那么就会从新下载⽂件中的资源并进⾏离线存储。
离线的状况下,浏览器就间接使⽤离线存储的资源。
12. 请形容⼀下 cookies,sessionStorage 和 localStorage 的区别?
cookie 是⽹站为了标示⽤户身份⽽贮存在⽤户本地终端(Client Side)上的数据(通常通过加密)
cookie 数据始终在同源的 http 申请中携带(即便不须要),即会在浏览器和服务器间 来回传递
sessionStorage 和 localStorage 不会⾃动把数据发给服务器,仅在本地保留
存储⼤⼩:
cookie 数据⼤⼩不能超过 4k
sessionStorage 和 localStorage 尽管也有存储⼤⼩的限度,但⽐ cookie ⼤得多,能够达到 5M 或更⼤
有期工夫:
localStorage 存储持久数据,浏览器敞开后数据不失落除⾮被动删除数据
sessionStorage 数据在以后浏览器窗⼝敞开后⾃动删除
cookie 设置的 cookie 过期工夫之前⼀直无效,即便窗⼝或浏览器敞开
13. iframe 有那些毛病?
a- iframe 会阻塞主⻚⾯的 Onload 事件
b- 搜索引擎的检索程序⽆法解读这种⻚⾯,不利于 SEO
c- iframe 和主⻚⾯共享连接池,⽽浏览器对雷同域的连贯有限度,所以会影响⻚⾯的并⾏加载
d- 使⽤ iframe 之前须要思考这两个毛病,所以..
如果须要使⽤ iframe,最好是通过 javascript 动静给 iframe 增加 src 属性值,这样能够绕开以上两个问题
14. WEB 规范以及 W3C 规范是什么?
标签闭合
标签⼩写
不乱嵌套
使⽤外链 css 和 js
构造、⾏为、体现拆散
15. xhtml 和 html 有什么区别?
a- ⼀个是性能上的差异:次要是 XHTML 可兼容各⼤浏览器、⼿机以及 PDA,并且浏览器也能疾速正确地编译⽹⻚
b- 另外是书写习惯的差异:XHTML 元素必须被正确地嵌套,闭合,辨别⼤⼩写,⽂档必须领有根元素
16. Doctype 作⽤? 严格模式与混淆模式如何辨别?它们有何意义?
⻚⾯被加载的时,link 会同时被加载
@imort ⻚⾯被加载的时,link 会同时被加载,⽽ @import 引⽤的 CSS 会等到⻚⾯被加载完再加载
import 只在 IE5 以上能力辨认,⽽ link 是 XHTML 标签,⽆兼容问题
link ⽅式的款式的权重 ⾼于 @import 的权重
<!DOCTYPE> 申明位于⽂档中的最前⾯,处于 <html> 标签之前,告知浏览器的解析器,⽤什么⽂档类型标准来解析这个⽂档
严格模式的排版和 JS 运作模式是 以该浏览器⽀持的最⾼规范运⾏
在混淆模式中,⻚⾯以宽松的向后兼容的⽅式显示。模仿⽼式浏览器的⾏为以防⽌站点⽆法⼯作。
DOCTYPE 不存在或格局不正确会导致⽂档以混淆模式出现
17. ⾏内元素有哪些?块级元素有哪些?空 (void) 元素有那些?⾏内元素和块级元素有什么区别?
a- ⾏内元素有:a b span img input select strong
b- 块级元素有:div ul ol li dl dt dd h1 h2 h3 h4… p
c- 空元素:<br> <hr> <img> <input> <link> <meta>
特点:
⾏内元素不能够设置宽⾼,不独占⼀⾏
块级元素能够设置宽⾼,独占⼀⾏
18. HTML 全局属性 (global attribute) 有哪些?
class : 为元素设置类标识
data-* : 为元素减少⾃定义属性
draggable : 设置元素是否可拖拽
id : 元素 id,⽂档内唯⼀
lang : 元素内容的的语⾔
style : ⾏内 css 款式
title : 元素相干的倡议信息
19. Canvas 和 SVG 有什么区别?
svg 绘制进去的每⼀个图形的元素都是独⽴的 DOM 节点,可能⽅便的绑定事件或⽤来批改。
canvas 输入的是⼀整幅画布
svg 输入的图形是⽮量图形,前期能够批改参数来⾃由放⼤缩⼩,不会失真和锯⻮。
canvas 输入标量画布,就像⼀张图⽚⼀样,放⼤会失真或者锯⻮。
20. HTML5 为什么只须要写 <!DOCTYPE HTML>
HTML5 不基于 SGML,因而不须要对 DTD 进⾏引⽤,然而须要 doctype 来标准浏览器的⾏为
⽽ HTML4.01 基于 SGML , 所以须要对 DTD 进⾏引⽤,能力告知浏览器⽂档所使⽤的⽂档类型
21. 如何在⻚⾯上实现⼀个圆形的可点击区域?
a- svg
b- border-radius
c- 纯 js 实现 需要求⼀个点在不在圆上简略算法、获取⿏标坐标等等
22. ⽹⻚验证码是⼲嘛的,是为了解决什么平安问题
辨别⽤户是计算机还是⼈的公共全⾃动程序。
能够防⽌歹意破解明码、刷票、论坛灌⽔
无效防⽌⿊客对某⼀个特定注册⽤户⽤特定程序暴⼒破解⽅式进⾏一直的登陆尝试
23. viewport
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=0" />
// width 设置 viewport 宽度,为⼀个正整数,或字符串‘device-width’// device-width 设 备 宽 度
// height 设置 viewport ⾼度,⼀般设置了宽度,会⾃动解析出⾼度,能够不⽤设置
// initial-scale 默认缩放⽐例(初始缩放⽐例),为⼀个数字,能够带⼩数
// minimum-scale 容许⽤户最⼩缩放⽐例,为⼀个数字,能够带⼩数
// maximum-scale 容许⽤户最⼤缩放⽐例,为⼀个数字,能够带⼩数
// user-scalable 是否容许⼿动缩放
延长发问:
怎么解决 挪动端 1px 被 渲染成 2px 问题?
1)部分解决
mate 标签中的 viewport 属性,initial-scale 设置为 1;
rem 依照设计稿规范⾛,外加利⽤ transfrome 的 scale(0.5) 缩⼩⼀倍即可;
2)全局解决
mate 标签中的 viewport 属性,initial-scale 设置为 0.5
rem 依照设计稿规范⾛即可
24. 渲染优化
1)禁⽌使⽤ iframe(阻塞⽗⽂档 onload 事件)
iframe 会阻塞主⻚⾯的 Onload 事件
搜索引擎的检索程序⽆法解读这种⻚⾯,不利于 SEO
iframe 和主⻚⾯共享连接池,⽽浏览器对雷同域的连贯有限度,所以会影响⻚⾯的并⾏加载使⽤ iframe 之前须要思考这两个毛病。
如果须要使⽤ iframe,最好是通过 javascript 动静给 iframe 增加 src 属性值,这样能够绕开以上两个问题
2)禁⽌使⽤ gif 图⽚实现 loading 成果(升高 CPU 耗费,晋升渲染性能)
3)使⽤ CSS3 代码代替 JS 动画(尽可能防止重绘重排以及回流)
4)对于⼀些⼩图标,能够使⽤ base64 位编码,以缩小⽹络申请。但不倡议⼤图使⽤,⽐较消耗 CPU
⼩图标劣势在于:
1- 缩小 HTTP 申请
2- 防止⽂件跨域
3- 批改及时⽣效
5)⻚⾯头部的 <style></style> <script></script> 会阻塞⻚⾯;(因为 Renderer 过程中 JS 线程和渲染线程是互斥的)
6)⻚⾯中空的 href 和 src 会阻塞⻚⾯其余资源的加载 (阻塞下载过程)
7)应用 ⽹⻚ gzip,CDN 托管,data 缓存,图⽚服务器
8)前端模板 JS+ 数据,缩小因为 HTML 标签导致的带宽节约,前端⽤变量保留 AJAX 申请后果,每次操作本地变量,不⽤申请,缩小申请次数
9)⽤ innerHTML 代替 DOM 操作,缩小 DOM 操作次数,优化 javascript 性能
10)当须要设置的款式很多时设置 className ⽽不是间接操作 style
11)少⽤全局变量、缓存 DOM 节点查找的后果,缩小 IO 读取操作
12)图⽚预加载,将样式表放在顶部,将脚本放在底部 加上工夫戳
13)对一般的⽹站有⼀个统⼀的思路,就是尽量向前端优化、缩小数据库操作、缩小磁盘 IO
———— 请叫我分割线 ———-
题目有点多了,对付看吧。
心愿能缓解你找工作的慌乱。下次持续~