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 替我们做了哪些工作?
…
算法
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
- 冒泡排序
- 选择排序
- 快速排序
- 二叉树查找: 最大值、最小值、固定值
- 二叉树遍历
- 二叉树的最大深度
- 给予链表中的任一节点,把它删除掉
- 链表倒叙
- 如何判断一个单链表有环
- 给定一个有序数组,找出两个数相加为一个目标数
…
由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+评论666
6.1 为人物添加Rigidbody 2D
6.2 禁用重力
6.3 添加Polygon Collider 2D
Box Collider太假了,换成了Polygon Collider
6.4 调整碰撞体积
6.5 禁用旋转
6.6 在代码中使用Rigidbody 2D
在代码中使用Rigidbody 2D,以防止物理强行移回人物造成的人物抖动
6.7 添加Tilemap Collider 2D
6.8 添加Composite Collider 2D
将小碰撞体组合,以提高性能
6.9 添加圆形透明物体
以弥补水流圆形地砖的大面积无法运动问题,扩大一定边界解决人物卡入问题
7 可收集的物品
7.1 添加生命值
公共的最大生命值
公共的当前生命值
Mathf.Clamp控制范围
7.2 触发器
设置触发器
触发器代码
判断是否触发
减小图层,一直显示在人物之下
8 攻击区域和敌人
8.1 攻击区域
攻击区域图像自动扩充
攻击区域代码
预制体
8.2 敌人
8.2.1 导入控件和配置
教学是碰撞减血,但是现实中怪物不会等人碰到之后才攻击,是有攻击范围的
第一个区域用来判定刚体,第二个区域用来判定伤害,扁平的长方形更真实
8.2.2 敌人代码
增大质量,防止敌人被角色推动
9 角色动画
9.1 创建Animator Controller
9.2 添加并设置Animator
9.3 使用Animation创建行走动画
感觉4有些别扭,改成6更顺畅一点
将中间两帧放到后面,让摆臂更自然顺畅
更换BoxCollider2D,并以手臂为基准重新设计攻击范围
9.4 设置Blend Tree
9.5 添加混合树代码
9.6 挂载ruby动画编写代码
10 丢出齿轮
10.1 创建齿轮,并配置BoxCollider2D和一个 Rigidbody2D
10.2 编写飞弹代码
10.3 ruby中添加发射代码
10.4 设置角色图层和飞弹图层
10.5 编写机器人修复代码
10.6 3s后齿轮销毁
10.7 机器人动画
依旧是4帧整理出6帧,让动画顺滑。Sample为6
11 摄像机跟随
11.1 添加Cinemachine 包
最新版报错,官网文档2.7.3也不行,垃圾官网。最终决定使用官方ruby教程的2.3.4的前一版2.2.9(垃圾官网,教程的包都没了)
11.2 配置Cinemachine
11.3 简单大地图和边界
11.4 调整飞弹图层
12 损坏机器人的烟雾粒子
12.1 创建Particle System
12.2 配置Particle System
增加随机性和渐变消失,以及跟随移动
12.3 编写修复消失代码
13 生命值(UI)
13.1 添加外框并设置锚点
13.2 添加头像并设置锚点
13.3 添加生命值条和设置Mask
13.4 编写生命值条的脚本
14 NPC与对话
14.1 创建NPC
npc动画变为三次呼吸一次眨眼,帧数为3
14.2 设置UI和文字
官方教程让用Text - TextMeshPro,虽然更好用,但是对于多语言支持较差,并且只是一个简单UI,因此改为直接使用Text
使用互补色并稍微提高饱和度高亮关键词
14.3 设置触发器射线投射并编写代码
15 背景音乐与游戏音效
15.1 背景音乐
15.2 拾取到生命值包、投掷齿轮或被攻击的声音
15.3 机器人走路的声音
15.4 修正衰减
15.5 机器人修复后停止播放走路声
16 参考b站视频
16.1 子弹数量
16.1.1 UI
16.1.2 ruby代码
16.1.3 子弹包代码
16.1.4 UI代码
16.2 物品动画
数据结构与算法
这一块在笔试、面试的代码题中考核较多,其中常考的数据结构主要有:数组、链表、队列、栈、Set、Map、哈希表等,不同数据结构有不同的方法以及储存原理,这些算是技术岗的必备知识。算法部分主要分为两大块,排序算法与一些其他算法题。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
排序算法根据考频高低主要有:快速排序、归并排序、堆排序、冒泡排序、插入排序、选择排序、希尔排序、桶排序、基数排序、Timsort这十种,这类考核点要么是算法的时间、空间复杂度、稳定度,要么是直接手写代码,故在理解算法原理的同时,对JS语言版的排序算法代码也要加强记忆。
- 二叉树层序遍历
- B 树的特性,B 树和 B+树的区别
- 尾递归
- 如何写一个大数阶乘?递归的方法会出现什么问题?
- 把多维数组变成一维数组的方法
- 知道的排序算法 说一下冒泡快排的原理
- Heap 排序方法的原理?复杂度?
- 几种常见的排序算法,手写
- 数组的去重,尽可能写出多个方法
- 如果有一个大的数组,都是整型,怎么找出最大的前 10 个数
- 知道数据结构里面的常见的数据结构
- 找出数组中第 k 大的数组出现多少次,比如数组【1,2, 4,4,3,5】第二大的数字是 4,出现两次,所以返回 2
- 合并两个有序数组
- 给一个数,去一个已经排好序的数组中寻找这个数的位 置(通过快速查找,二分查找)
如何写一个大数阶乘?递归的方法会出现什么问题?
- 把多维数组变成一维数组的方法
- 知道的排序算法 说一下冒泡快排的原理
- Heap 排序方法的原理?复杂度?
- 几种常见的排序算法,手写
- 数组的去重,尽可能写出多个方法
- 如果有一个大的数组,都是整型,怎么找出最大的前 10 个数
- 知道数据结构里面的常见的数据结构
- 找出数组中第 k 大的数组出现多少次,比如数组【1,2, 4,4,3,5】第二大的数字是 4,出现两次,所以返回 2
- 合并两个有序数组
- 给一个数,去一个已经排好序的数组中寻找这个数的位 置(通过快速查找,二分查找)
[外链图片转存中…(img-IEPrAXEK-1715796677372)]