一些看起来很叼难的前端面试题,2024年最新web前端面试知识点有哪些

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
img

正文

「对搜索引擎不友好,并且存在跨域问题限制」

搜索引擎会屏蔽掉所有baijavascript代码du, 那么ajax载入的内容对于搜索引擎来说zhi也是透明的。建议重要的页面信dao息不要AJAX。用AJAX只是载入一些相关链接或者其他跟正文和关键词关系不是很大的东西。

如果一定要做AJAX的页面,那么至少在title以及h1、h2、h3标记处不要用AJAX。否则这个页面真正的关键词搜索引擎是看不到的。

搜索引擎对AJAX很不友好,呵呵

「ajax不支持浏览器back按钮(要实现ajax下的前后退功能成本较大)。」

「不支持浏览器“后退”和“前进“键。」

2.下面这道题的输出结果

var foo={n:1};

(function(foo){

console.log(foo.n);

foo.n=3;

var foo={n:2};

console.log(foo.n);

})(foo);

console.log(foo.n);

A:

var foo = {n:1};

(function(foo){            //形参foo同实参foo一样指向同一片内存空间,这个空间里的n的值为1

var foo;               //重复声明,无效。

console.log(foo.n);    //输出1

foo.n = 3;             //形参与实参foo指向的内存空间里的n的值被改为3

foo = {n:2};           //形参foo指向了新的内存空间,里面n的值为2.

console.log(foo.n);    //输出新的内存空间的n的值

})(foo);

console.log(foo.n);        //实参foo的指向还是原来的内存空间,里面的n的值为3.

3.进程主要组成部分包括

  • ①程序。作用:描述进程要完成的功能。

  • ②数据。作用:程序在执行时所需要的数据和工作区。

  • ③ PCB。作用:包含进程的描述信息和控制信息。它是进程存在的唯一标志。进程控制块

4.一个简单的计算机网络 3 个主要组成部分是

计算机网络通常由三个部分组成,它们是**「资源子网(一系列主机)、通信子网和通信协议」**.所谓通信子网就是计算机网络中负责数据通信的部分;资源子网是计算机网络中面向用户的部分,负责全网络面向应用的数据处理工作;而通信双方必须共同遵守的规则和约定就称为通信协议,它的存在与否是计算机网络与一般计算机互连系统的根本区别。所以从这一点上来说,我们应该更能明白计算机网络为什么是计算机技术和通信技术发展的产物了。

5.如果让你来设计一个批处理多道系统,首先要考虑的是

「吞吐量,系统效率」

多道批处理系统有两个特点:

  1. 多道:系统内可同时容纳多个作业。这些作业放在外存中,组成一个后备队列,系统按一定的调度原则每次从后备作业队列中选取一个或多个作业进入内存运行,运行作业结束、退出运行和后备作业进入运行均由系统自动实现,从而在系统中形成一个自动转接的、连续的作业流。

  2. 成批:在系统运行过程中,不允许用户与其作业发生交互作用,即:作业一旦进入系统,用户就不能直接干预其作业的运行。

  • 多道批处理系统的优点:资源利用率大幅提升,系统吞吐量增大

  • 缺点:用户响应时间长,没有交互功能

  • 分时操作系统解决了人机交互功能,但不能处理一些紧急任务
  • 实时操作系统的特点:及时性和可靠性
  • 分布式操作系统的特点:分布性和并行性,  系统中各个计算机地位相同,任何工作都可以分布在这些计算机上,由它们并行,协同完成

6.已知一个二叉树的后序遍历的结果为 AEFDHZMG, 那么它的中序遍历可能为()前序遍历可能为()

树结构如图,思路为:

  • 寻找共同项,分别对比AB和CD

  • 得到大致结构——

  • 前序遍历:GDA _ _ MHZ

  • 中序遍历:ADEF _ _ _ Z

  • 后序遍历:AEFDHZMG

  • 然后画个图往里填空就行

7.数据链路层主要功能包括()

「流量控制」涉及对链路上的帧的发送速率的控制,以使接收方有足够的缓冲空间来接收每一个帧。基本方法是由接收方控制发送方发送数据的速率,常见的方式有两种:「停止-等待协议和滑动窗口协议。」

两个结点之间如果规定了数据链路层协议,就可以检测出这些差错,然后把收到的错误信息丢弃,这就是**「差错控制」功能。通常利用编码技术进行差错控制,主要有两类:「自动重传请求(ARQ)和前向纠错(FEC)」**。在ARQ方式中,接收端检测出差错时,就设法通知发送端重发,直到接收到正确的码字为止。在FEC方式中,接收端不但能发现差错,而且能确定二进制数码的错误位置,从而加以纠正。因此,差错控制主要分为检错编码和纠错编码

8.请描述一下 cookies , sessionStorage 和 localStorage 的区别

9.请列举 html5 本地存储( localStorage )相关 api ,并实现 getAll 方法,获取本地存储

链接:https://www.nowcoder.com/questionTerminal/4fa885ec00f347db8e7217475f731fc7 来源:牛客网

  • setItem(key,value) 添加数据

  • getItem(key) 根据key获取值

  • key(index) 根据索引获取key

  • removeItem(key) 根据key删除一条数据

  • clear() 清空数据

  • length:获取总数据的长度

getAll()这个方法我没太明白想获取什么,所以我采用了key()和getItem()方法结合获取键值对

function() {

for (let i = 0; i < localStorage.length; i++) {

let key = localStorage.key(i)

let value = localStorage.getItem(key)

console.log(key + “:” + value)

}

}

10.JS中substr与substring的区别

JS中substr与substring的区别

js中substr和substring都是截取字符串中子串,非常相近,可以有一个或两个参数。

语法:substr(start [,length]) 第一个字符的索引是0,start必选 length可选

substring(start [, end]) 第一个字符的索引是0,start必选 end可选

相同点:当有一个参数时,两者的功能是一样的,返回从start指定的位置直到字符串结束的子串

var str = “hello Tony”;

str.substr(6);  //Tony

str.substring(6); //Tony

不同点:有两个参数时

(1)substr(start,length) 返回从start位置开始length长度的子串

“goodboy”.substr(1,6);   //oodboy

【注】当length为0或者负数,返回空字符串

(2)substring(start,end) 返回从start位置开始到end位置的子串(「不包含end」

“goodboy”.substring(1,6);  //oodbo

【注】:

(1)substring 方法使用 start 和 end 两者中的较小值作为子字符串的起始点

(2)start 或 end 为 NaN 或者负数,那么将其替换为0

str是字符串时str.substring(start,end)和str.slice(start,end)完全等价;str是数组时str.slice(start,end)还可以继续用,str.substring(start,end)就不行了。

11.JS 截取地址栏指定字符后的内容

一、获取地址栏路径

Vue 面试题

1.Vue 双向绑定原理
2.描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?
3.你是如何理解 Vue 的响应式系统的?
4.虚拟 DOM 实现原理
5.既然 Vue 通过数据劫持可以精准探测数据变化,为什么还需要虚拟 DOM 进行 diff 检测差异?
6.Vue 中 key 值的作用?
7.Vue 的生命周期
8.Vue 组件间通信有哪些方式?
9.watch、methods 和 computed 的区别?
10.vue 中怎么重置 data?
11.组件中写 name 选项有什么作用?
12.vue-router 有哪些钩子函数?
13.route 和 router 的区别是什么?
14.说一下 Vue 和 React 的认识,做一个简单的对比
15.Vue 的 nextTick 的原理是什么?
16.Vuex 有哪几种属性?
17.vue 首屏加载优化
18.Vue 3.0 有没有过了解?
19.vue-cli 替我们做了哪些工作?

算法

  1. 冒泡排序
  2. 选择排序
  3. 快速排序
  4. 二叉树查找: 最大值、最小值、固定值
  5. 二叉树遍历
  6. 二叉树的最大深度
  7. 给予链表中的任一节点,把它删除掉
  8. 链表倒叙
  9. 如何判断一个单链表有环
  10. 给定一个有序数组,找出两个数相加为一个目标数

由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+评论666

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
予链表中的任一节点,把它删除掉
8. 链表倒叙
9. 如何判断一个单链表有环
10. 给定一个有序数组,找出两个数相加为一个目标数

[外链图片转存中…(img-JVbjTHV1-1713440847205)]

由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+评论666

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-sgdwQfyq-1713440847205)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 20
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值