三年前端开发的面试历程 + 资料分享 + 内推

149 篇文章 0 订阅
149 篇文章 0 订阅

大家好,最近一位前端三年的粉丝说,自己要回老家做生意了,不打算做这一行了,留下了很多面试经历的笔记,资料,还有一些前端八股文和场景题,简历模板也攒下了很多,他说希望可以帮助更多的前端人,证明前端并没有死,有需要的小伙伴可以看文末哦

1 前端需要注意哪些SEO


合理的 title 、 description 、 keywords :搜索对着三项的权重逐个减小, title
值强调重点即可, 重要关键词出现不要超过2次, 而且要靠前,不同⻚⾯ title 要有所不
同; description 把⻚⾯内容高度概括, ⻓度合适,不可过分堆砌关键词,不同⻚⾯
description 有所不同; keywords 列举出重要关键词即可
语义化的 HTML 代码,符合W3C规范:语义化代码让搜索引擎容易理解网⻚
重要内容 HTML 代码放在最前:搜索引擎抓取 HTML 顺序是从上到下, 有的搜索引擎对抓
取⻓度有限制,保证重要内容⼀定会被抓取
重要内容不要用 js 输出:爬虫不会执⾏js获取内容
少用 iframe :搜索引擎不会抓取 iframe 中的内容
⾮装饰性图片必须加 alt
提高网站速度: 网站速度是搜索引擎排序的⼀个重要指标

1 谈谈变量提升


当执行 JS 代码时,会生成执行环境, 只要代码不是写在函数中的,就是在
全局执行环境中, 函数中的代码会产生函数执行环境, 只此两种执行环境。
b() // call b
console.log(a) // undefined
var a = 'Hello world'
function b() {
console.log( 'call b')
}
想必以上的输出大家肯定都已经明白了, 这是因为函数和变量提升的原因 。通
常提升的解释是说将声明的代码移动到了顶部, 这其实没有什么错误,便于大
家理解 。但是更准确的解释应该是:在生成执行环境时,会有两个阶段 。第⼀
个阶段是创建的阶段, JS 解释器会找出需要提升的变量和函数, 并且给他们
提前在内存中开辟好空间, 函数的话会将整个函数存⼊内存中, 变量只声明并
且赋值为 undefined ,所以在第⼆个阶段,也就是代码执行阶段, 我们可以
直接提前使用
在提升的过程中,相同的函数会覆盖上⼀个函数, 并且函数优先于变量提升
b( ) // call b second
function b() {
console.log( 'call b fist')
}
function b() {

console.log( 'call b second')
}
var b = 'Hello world'
var 会产生很多错误,所以在 ES6中引⼊了 let 。 let 不能在声明前使
用,但是这并不是常说的 let 不会提升, let 提升了,在第⼀阶段内存也
已经为他开辟好了空间,但是因为这个声明的特性导致了并不能在声明前使用

1 内置类型


JS 中分为七种内置类型,七种内置类型又分为两大类型:基本类型和对象
( Object ) 。
基本类型有六种: null , undefined , boolea n, number , string ,
symbol 。
其中 JS 的数字类型是浮点类型的,没有整型 。并且浮点类型基于 IEEE 754 标准实
现,在使用中会遇到某些 Bug。 NaN 也属于 number 类型, 并且 NaN 不等于自身 。
对于基本类型来说, 如果使用字面量的方式,那么这个变量只是个字面量, 只有在必要的
时候才会转换为对应的类型。
let a = 111 // 这只是字面量,不是 number 类型
a.toString() // 使用时候才会转换为对象类型
对象 ( Object ) 是引用类型,在使用过程中会遇到浅拷贝和深拷贝的问题。
let a = { name: 'FE' }
let b = a
b.name = 'EF'
console.log(a.name) // EF;

1 UDP


1.1 面向报文
UDP 是⼀个面向报⽂ (报⽂可以理解为⼀段段的数据) 的协议 。意思就是
UDP 只是报⽂的搬运⼯,不会对报⽂进行任何拆分和拼接操作
具体来说
在发送端,应用层将数据传递给传输层的 UDP 协议, UDP 只会给数据增加⼀个 UDP
头标识下是 UDP 协议,然后就传递给网络层了
在接收端, 网络层将数据传递给传输层, UDP 只去除 IP 报⽂头就传递给应用层,不会
任何拼接操作
1.2 不可靠性
UDP 是⽆连接的,也就是说通信不需要建立和断开连接。
UDP 也是不可靠的 。协议收到什么数据就传递什么数据, 并且也不会备份数据,对⽅能
不能收到是不关⼼的
UDP 没有拥塞控制,⼀ 直会以恒定的速度发送数据 。即使网络条件不好,也不会对发送
速率进行调整 。这样实现的弊端就是在网络条件不好的情况下可能会导致丢包,但是优点
也很明显,在某些实时性要求高的场景 ( 比如电话会议) 就需要使用 UDP 而不是 TCP
1.3 高效
因为 UDP 没有 TCP 那么复杂, 需要保证数据不丢失且有序到达 。所以 UDP 的头部开
销⼩, 只有⼋字节,相比 TCP 的至少⼆⼗字节要少得多,在传输数据报⽂时是很高效的
头部包含了以下几个数据
两个⼗六位的端⼝号 ,分别为源端⼝ ( 可选字段) 和目标端⼝ 整个数据报⽂的长度整个数据报⽂的检验和 ( IPv4 可选 字段), 该字段用于发现头部信息和数据中的错误
1.4 传输方式
UDP 不止⽀持⼀对⼀的传输⽅式, 同样⽀持⼀对多, 多对多, 多对⼀的⽅
式,也就是说 UDP 提供了单播, 多播,⼴播的功能

需要丸整版的可以【点此获取】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值