到今天,大概半个月已经面了5家,收到2份offer,2个还在流程中,有的公司还是在大规模招聘的。。接下来还有大概3家,做个阶段性的总结。
浏览器输入url到显示页面都发生了什么
一个非常经典的面试题,不同阶段的人的答案相差会很大,一定程度有助于区分面试者水平。初级阶段会说出类似建立tcp连接,发送http请求,服务器接收请求返回数据,浏览器显示页面等;相对高阶的会对每个阶段都详细阐述,如DNS查询、浏览器缓存、资源重定向、浏览器的DOM、CSSOM以及如何渲染等,大神级会说出计算机图形学、浏览器渲染原理之类的。。
另一个经典之处在于,对整个过程了解的越详细,对网站搭建、网络请求、前端性能优化就更有深层次的见解。
如何发布VSCode Web Extension
VSCode正备越来越多的使用在浏览器中,以Github为例,可以在项目页面按下.
键,即可直接打开一个在线的VSCode编辑器,属实是厉害了👍。
然而Web端的功能相比客户端来说要少了一些,Terminal的功能就逊色一些,还有插件系统也做了更新,需要适配Web端。
比较完整的NPM发包流程
现在的npm包是越来越卷了,之前只要把能用的js文件打包发到npm上就可以了,现在随着技术更新迭代,又多了一些需求,常见比如typescript支持,支持ES模块。
通过一个MR请求,我也是整理了下之前理解有误的地方,再结合一些别人的实践,重新发一个包,比较完整的说明下当前npm包的发布流程,以及一些常见的问题。
curl命令的使用
TODO: WIP
AMD、UMD与CommonJS
TODO: WIP
HTTP2协议与优劣势
在http2协议下,一个TCP请求可以请求多个资源,既避免重复建立TCP连接,有解决了并发数量的限制。
蛇形输出二维数组元素
TODO: WIP
可控制并发数的Promise方法
这个问题见过几次,头条的笔试有道题好像就是这个意思,最近又看到了类似的题目,试着实现了一下。
题目概述:有20个请求,希望可以控制并发数量为5,每成功一个则继续执行下一个请求,直到所有请求都成功,并按请求参数顺序返回结果数组(可暂时认为所有请求都会成功)
LeetCode-39-组合总和
给定一个无重复元素的正整数数组 candidates 和一个正整数 target ,找出 candidates 中所有可以使数字和为目标数 target 的唯一组合。