跳槽原因
前东家部门是做旅游的,在这次疫情打击下,基本玩完。
于是我半休半远程三个月后,在4月底领了裁员便当。至今,差不多找了两个月的工作。
本篇不是标准的面经,想从中获取大厂跳槽经验的可以歇一歇。

更多的是想讲一下绝大多数如你如我,学历渣技术差,没大厂经验的前端如何走。
1. Offer情况
个人比较懒,一周可能就面2~3家,只约下午。部分星期没有面试邀约。
囿于学历+公司,两招聘软件都被我用成“Boss直拒”和“拉钩上吊”
粗略算了下,面了约12家大中小型公司,仅4家Offer,情况分别为:
- 某游戏公司
- 某小公司
- 风变编程
- 金山系某司
作为一个社交孤儿,在本次跳槽历程中也是发现自己不少的问题,且听我慢慢道来。
本篇虽然有点丧,但你们可以从中找到对应的问题(我几乎犯了所有面试的低级错误)
部分的公司有:360奇舞团,某上市游戏公司,风变编程,金山系某司,阿里。
2. 高频面试题汇总
面过的公司有点多,一并说了吧。
1. 从“在浏览器输入域名”到“页面静态资源完全加载”的整个流程
见于:某游戏公司、小鹅通、阿里一面、另外三家小公司
这问题的答案,我结合了yck《前端面试之道》和 浏览器原理专栏:
整个过程可以分为几步:
-
用户输入
当用户输入关键字并键入回车之后,这意味着当前页面即将要被替换成新的页面,不过在这个流程继续之前,浏览器还给了当前页面一次执行
beforeunload事件的机会,beforeunload事件允许页面在退出之前执行一些数据清理操作,还可以询问用户是否要离开当前页面。 -
URL请求过程首先,网络进程会查找本地缓存是否缓存了该资源。
如果有缓存资源,那么直接返回资源给浏览器进程;如果在缓存中没有查找到资源,那么直接进入网络请求流程。这请求前的第一步是要进行
DNS解析,以获取请求域名的服务器IP地址。如果请求协议是HTTPS,那么还需要建立TLS连接。- 其中,
DNS也有几步缓存:浏览器缓存,hosts文件, - 如果本地域名解析服务器也没有该域名的记录,则开始递归+迭代解析
TCP三次握手,HTTP。TLS握手,HTTPS。
接下来就是利用
IP地址和服务器建立TCP连接。连接建立之后,浏览器端会构建请求行、请求头等信息,并把和该域名相关的Cookie等数据附加到请求头中,然后向服务器发送构建的请求信息。数据在进入服务端之前,可能还会先经过负责负载均衡的服务器,它的作用就是将请求合理的分发到多台服务器上,这时假设服务端会响应一个
HTML文件。首先浏览器会判断状态码是什么,如果是
200那就继续解析,如果400或500的话就会报错,如果300的话会进行重定向,这里会有个重定向计数器,避免过多次的重定向,超过次数也会报错。浏览器开始解析文件,如果是
gzip格式的话会先解压一下,然后通过文件的编码格式知道该如何去解码文件。 - 其中,
-
准备渲染进程
默认情况下,
Chrome会为每个页面分配一个渲染进程,也就是说,每打开一个新页面就会配套创建一个新的渲染进程。 -
渲染阶段
文件解码成功后会正式开始渲染流程,先会根据
HTML构建DOM树,有CSS的话会去构建CSSOM树。如果遇到script标签的话,会判断是否存在async或者defer,前者会并行进行下载并执行 JS,后者会先下载文件,然后等待HTML解析完成后顺序执行。如果以上都没有,就会阻塞住渲染流程直到
JS执行完毕。
CSSOM 树和 DOM 树构建完成后会开始生成 Render 树,这一步就是确定页面元素的布局、样式等等诸多方面的东西
在生成 Render 树的过程中,浏览器就开始调用GPU 绘制,合成图层,将内容显示在屏幕上了。
2. eventloop机制,promise的实现和静态方法、async实现。

这题聊起来可就大了,进程,线程,协程。部分还会配以那道最经典的eventloop题目。
见于:阿里一面、小鹅通、头条一面、360一面、风变编程、

本文讲述了作者作为前端开发者在疫情后艰难的跳槽经历,分享了高频面试题和面试技巧。文章强调了学历和技术背景的重要性,同时也提供了面试准备和自我提升的建议,包括理解浏览器工作流程、掌握异步编程和状态管理、对比Vue和React的差异等。此外,作者还分享了如何通过写技术博客提升技术竞争力。
最低0.47元/天 解锁文章
3471

被折叠的 条评论
为什么被折叠?



