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
输入:s = "abaccdeff"
输出:'b'
示例 2:
输入:s = ""
输出:' '
题解思路
用哈希表存储键值对的方式
key表示字符串,value表示是否为第一次出现
两次遍历即可求出
上代码
class Solution {
public char firstUniqChar(String s) {
Map<Character,Boolean> map=new HashMap<>();
char[] sss=s.toCharArray();
for(char c: sss){
map.put(c,!map.containsKey(c));
//value 表示 添加时不包含s就为true 如果添加到相同的key就改为false
}
for(char c:sss){
if(map.get(c)==true){return c;}
}
return ' ';
}
}
执行用时:20 ms, 在所有 Java 提交中击败了64.19%的用户
内存消耗:38.4 MB, 在所有 Java 提交中击败了93.05%的用户
通过测试用例:104 / 104
时间复杂度
最后
为了帮助大家更好的了解前端,特别整理了《前端工程师面试手册》电子稿文件。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】