刷面试题
刷题的重要性,不用多说。对于应届生或工作年限不长的人来说,刷面试题一方面能够尽可能地快速自己对某个技术点的理解,另一方面在面试时,有一定几率被问到相同或相似题,另外或多或少也能够为自己面试增加一些自信心,可见适当的刷题是很有必要的。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
-
前端字节跳动真题解析
-
【269页】前端大厂面试题宝典
最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。大厂面试远没有我们想的那么困难,摆好心态,做好准备,你也可以的。
3.问题三
喜欢看斗鱼直播或其它直播的朋友,大家是不是有碰到过这个问题?页面看久了忽然崩掉了,需要重新刷新,产生这种问题的原因可能有两个,1是内存持续增加没有去清理,崩掉了。2是flash里的bug 产生的内存泄露。
由此可见,内存是和性能直接相关的,是非常重要的一环。
那我们就来讲一讲内存
内存模型(堆与栈)
js中并没有严格意义上区分栈内存与堆内存。因此我们可以粗浅的理解为js的所有数据都保存在堆内存中。但是在某些场景,我们仍然需要基于堆栈数据结构的思路进行处理。
那么先来讲一讲它的内存空间存储原理
为什么要把它类比成乒乓球盒子?
这种乒乓球的存放方式与栈中存取数据的方式是一样的。处于盒子中最顶层的乒乓球c,它一定是最后被放进去,但可以最先被使用。而我们想要使用底层的乒乓球I,就必须将上面的4个乒乓球取出来,让乒乓球1处于盒子顶层。这就是栈空间先进后出,后进先出的特点。图中已经详细的表明了栈空间的存储原理。
队列与堆栈
队列: 是一种支持先进先出(FIFO)的集合,即先被插入的数据,先被取出
堆栈: 是一种支持后进先出(LIFO)的集合,即后被插入的数据,先被取出
js数组实现队列和堆栈的功能
//队列 先进先出
let arr = new Array();
arr.unshift(1);
arr.unshift(2);
arr.unshift(3);
arr.pop();
console.log(arr);
//堆栈 先进后出
let arr2 = new Array();
arr2.push(1);
arr2.push(2);
arr2.push(3);
arr2.pop();
console.log(arr2);
队列应用场景
比如说我们常用的QQ 它有一个回收机制大家知道吧,当长时间未登录的时候 就收回去 删掉这个用户 重新拿出来卖钱(一般是靓号) 美滋滋,那肯定是先排序,看谁未登录的时间最长,就先把它干掉 是不是 不可能是我上一秒刚登陆和个靓妹聊天 下一秒就把我干掉了 那我还不报警
这个时候就用队列方法 从前往后面删 我们的数据库存了用户 当库存不下了 也是这么操作的
堆栈应用场景
比如说我们做了一个楼盘预售活动 名额100,报名200个,这个时候也就是从后往前删,先报名的保留。后面报名的逐个删除。
内存分配
这是两道道关于内存面试题,当我进行如下操作时,这时候,b是多少?
let a = 10;
最后
面试一面会问很多基础问题,而这些基础问题基本上在网上搜索,面试题都会很多很多。最好把准备一下常见的面试问题,毕竟面试也相当与一次考试,所以找工作面试的准备千万别偷懒。面试就跟考试一样的,时间长了不复习,现场表现肯定不会太好。表现的不好面试官不可能说,我猜他没发挥好,我录用他吧。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
96道前端面试题:
常用算法面试题:
前端基础面试题:
内容主要包括HTML,CSS,JavaScript,浏览器,性能优化
用算法面试题:**
- [外链图片转存中…(img-IE99GlUz-1715701409720)]
前端基础面试题:
内容主要包括HTML,CSS,JavaScript,浏览器,性能优化
- [外链图片转存中…(img-7EWH0Gne-1715701409721)]