记第一次面试
本文最后更新于 2024年6月7日 下午
字节 前端
-
Vue.js 和传统编写HTML/JS 有什么区别?
-
Vue.js 的响应式原理了解过吗?
-
Vue.js 中 data属性中某个对象的深层次属性修改会被检测到更新吗?
-
Vue.js 中数组元素变化,会不会检测到?
-
Vue-Router 有几种Router?
-
Hash 和 History 方式的Router有什么区别?
-
浏览器渲染界面的原理?调换其中
style
标签和script
标签之后会发生什么? -
那么这种现象有什么解决办法?
-
SSR了解过吗?
-
serviceworker
知道吗? -
两道基础题?
-
实现函数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20/*
sum(1,2,3)
sum(1,2)(3)
sum(1)(2)(3)
*/
var func = function () {
var sum = 0;
var addValue = function () {
for (var i = 0; i < arguments.length; i = i + 1) {
sum += arguments[i];
}
this.sumOf = function () {
return sum;
}
return addValue;
}
return addValue;
}
第四范式 前端
-
讲一个你参与过的项目,遇到了什么技术难点是怎么解决的?
-
算法题:
-
给出一个无序数组,要求将
0
放在数组首部,非0
元素放在数组尾部,并且保证非0
元素的顺序与原来一致。 -
继续优化性能。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23var lst = [0, 8, 5, 0, 134, 0, 3, 6, 5, 0, 7, 0];
var l, r, tmp, flag;
flag = false;
for (var i = lst.length - 1; i > 0; --i) {
if (lst[i] === 0) {
tmp = i - 1;
while (tmp > 0 && lst[tmp] === 0) {
tmp -= 1;
if (tmp === 0) {
flag = true;
}
}
if (flag === true) break;
[lst[tmp], lst[i]] = [lst[i], lst[tmp]];
}
}
console.log(lst);
-
网易有道 测开
-
其中一个项目技术实现
-
参与过哪些测试(WEB、移动端、白盒)
-
对一支笔进行测试你会想到哪些方面需要测试?
-
栈和队列的区别?
-
浏览器输入一行URL按下回车会发生什么?
-
GET和POST区别?
-
视图的优缺点?
- 优点:
- 使用起来简单,可以将复杂的查询语句封装为视图。
- 数据更加安全,可以将需要的显示的字段显示给特定用户,而不暴露敏感字段。
- 缺点:
- 视图中的某些字段其实根本不存在,所以不能进行修改。
- 性能差。
- 优点:
-
是否了解内联结、外联结、交叉联结。
- 交叉联结:笛卡尔积。
-
算法题:
- 给出一个字符串"absbshss",要求去重,并且去重后的字符串重新排列使其字典序最小。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17my_str = "absbshss"
my_str = list(my_str)
l = len(my_str)
for index, char in enumerate(my_str):
sub_str = my_str[:index]
if(char not in sub_str):
for i, c in enumerate(sub_str):
if(char < c):
my_str.insert(i, char)
my_str = my_str[:index]+my_str[index+1:]
break
c_count = len(set(my_str))
print("".join(my_str[:c_count]))
记第一次面试
https://siegelion.cn/2021/04/10/记第一次面试/