数据结构与算法
这一块在笔试、面试的代码题中考核较多,其中常考的数据结构主要有:数组、链表、队列、栈、Set、Map、哈希表等,不同数据结构有不同的方法以及储存原理,这些算是技术岗的必备知识。算法部分主要分为两大块,排序算法与一些其他算法题。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
排序算法根据考频高低主要有:快速排序、归并排序、堆排序、冒泡排序、插入排序、选择排序、希尔排序、桶排序、基数排序、Timsort这十种,这类考核点要么是算法的时间、空间复杂度、稳定度,要么是直接手写代码,故在理解算法原理的同时,对JS语言版的排序算法代码也要加强记忆。
- 二叉树层序遍历
- B 树的特性,B 树和 B+树的区别
- 尾递归
- 如何写一个大数阶乘?递归的方法会出现什么问题?
- 把多维数组变成一维数组的方法
- 知道的排序算法 说一下冒泡快排的原理
- Heap 排序方法的原理?复杂度?
- 几种常见的排序算法,手写
- 数组的去重,尽可能写出多个方法
- 如果有一个大的数组,都是整型,怎么找出最大的前 10 个数
- 知道数据结构里面的常见的数据结构
- 找出数组中第 k 大的数组出现多少次,比如数组【1,2, 4,4,3,5】第二大的数字是 4,出现两次,所以返回 2
- 合并两个有序数组
- 给一个数,去一个已经排好序的数组中寻找这个数的位 置(通过快速查找,二分查找)
今天的JavaScript已经成为一门功能全面的编程语言,能够处理复杂的计算和交互。
JavaScript核心
核心 – ECMAScript 5.0
文档对象模型 – DOM
浏览器对象模型 – BOM
ECMAScript介绍:
ECMAScript只是规范了JavaScript的语法,它与web浏览器没有依赖关系,web浏览器只是他的宿主环境之一。
文档对象模型(DOM):
文档对象模型就是HTML中的树。 (会学的,在这就不讲了!讲了也不会听懂的,晓得吧!)
浏览器对象模型(BOM):
开发人员使用BOM可以控制浏览器显示页面以外的部分,BOM至今没有相关标准,所以每个浏览器对它支持的不一样。
JavaScript能做什么?
嵌入动态文本于HTML页面。
对浏览器事件做出响应。
读写HTML元素。
在数据被提交到服务器之前验证数据。
检测访客的浏览器信息。
控制cookies,包括创建和修改等。
基于Node.js技术进行服务器端编程。
如何创建一个js页面
分为两种引入方式:
内联和外联
内联:<script type="text/javascript"></script>
外联:<script src="文件名"></script>
==================================================================
基础数据类型 (内置对象)
Number 数字类型 (不区别 整数 和小数)
String 字符串类型 (包括字母, 符号,汉字)
所有的字符串都需要用引号包裹起来
同理,所有的数据,被引号包裹起来时,它就是个字符串
BOOL 布尔类型 (true 正确 flase 错误)
null 空类型
undefind 未定义类型
object 对象类型
NAN 特殊标识符 该结果非数字 他自身不等于自身
声明并使用常量和变量
-
常量: 不能改变的数值
-
变量: 可以改变的数值
声明一个变量 需要使用关键字 var
关键字 变量名称(自定义)
var a = 10;
创建变量 分两步
-
声明变量 var a; 向系统申请一块内存 叫做a
-
定义变量 a = 1; 向已经存在的变量 赋值 数字 1
-
声明且定义 var b = 2;
在编程中 单等号 是赋值号,不是等于,平时说的等于,只是口头语而已
作用: 将赋值号 右侧的数据 存储到 左侧的变量中
console.log();
作用: 输出到控制台,控制台不影响我们页面的运行,是编程中,最常见的,测试方式
语法: console.log(需要输出的数据)
alert()
作用: 将内容输出到 语法自带的提示框,并且会暂时阻断程序运行,直到用户点击弹出框中的确定(也就是弹出框消失的时候),通常用于测试,在页面中弹出。不用于实际开发
语法:
alert(需要输出的内容);
alert(a);
typeof
作用: 测试数据类型
语法:
typeof 空格 需要检测的数据
typeof a
console.log(typeof a);
===============================================================
作用: 可以操作常量,也可以操作并保存变量
符号: +(加)、-(减)、*(乘)、/(除)、%(取余)
注意点:
1)变量是可以修改的,多次赋值,会覆盖上一次的值。每个变量只存一个,以最后操作的数据为准
2)加号两杯都是Number运行加法,任意一边是字符串类型运行拼接,除了+ 号以外的运算符,都不会出现。都按照正常数学运算来,即使 运算符两边出现字符串,也按照数字类型来计算
多次赋值要注意:
1)赋值一定是声明过的变量。
2)但是,切记,每个变量只能声明一次。
复合算数运算符
符号: +=(加等于)、-=(减等于)、*=(乘等于)、/=(除等于)
最后
面试一面会问很多基础问题,而这些基础问题基本上在网上搜索,面试题都会很多很多。最好把准备一下常见的面试问题,毕竟面试也相当与一次考试,所以找工作面试的准备千万别偷懒。面试就跟考试一样的,时间长了不复习,现场表现肯定不会太好。表现的不好面试官不可能说,我猜他没发挥好,我录用他吧。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
96道前端面试题:
常用算法面试题:
前端基础面试题:
内容主要包括HTML,CSS,JavaScript,浏览器,性能优化
真实项目实战+最新讲解视频】](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)**
96道前端面试题:
- [外链图片转存中…(img-CrhhYstN-1715442828637)]
常用算法面试题:
- [外链图片转存中…(img-KvPyRFMV-1715442828638)]
前端基础面试题:
内容主要包括HTML,CSS,JavaScript,浏览器,性能优化
- [外链图片转存中…(img-0pFxhJAi-1715442828639)]