二、广州致景笔试
这里菜鸟不记得题目顺序了,所以就直接写题目了,就不写序号了!
重载
这里菜鸟这个题是会的,只是记录了一下考察的点,不知道题目是什么了!直接上图:
数组原生方法
这个题菜鸟也会,所以也没写具体的题目,只写了考察的知识点,大致记得是选resort,js原生里面是没有resort的,如果想反向排序,可以直接传入比较函数为sort提供排序方式!
从小到大
arr.sort(function (x, y) {
if (x < y) {
return -1;
}
if (x > y) {
return 1;
}
return 0;
});
从大到小
arr.sort(function (x, y) {
if (x < y) {
return 1;
}
if (x > y) {
return -1;
}
return 0;
});
更多数组方法,见:js 数组(总结)
调用函数的方法
见该文章:http://c.biancheng.net/view/5700.html
JavaScript 提供了 4 种函数调用:
- 一般形式的函数调用
- 作为对象的方法调用
- 使用 call 和 apply 动态调用
- 使用 new 间接调用 – 实例化
设计模式
题目是:我们需要监听一个事件状态,让它在状态发生改变时主动发出通知,请问需要哪种设计模式?
菜鸟教程:设计模式
接口的作用
牛客网该题链接:https://www.nowcoder.com/questionTerminal/5ccf725b8e694f1f8e562b928470707f
另外几个为什么错了,牛客网上也没有回答!菜鸟提问了,等待解答!
写到这,菜鸟突然没有兴趣接着写下去了,因为感觉如果没有学过设计模式或者仔细研究接口的,这根本说不出来什么理所然出来!
菜鸟只是一个弱鸡前端,真的没有学过这些,看来又要花时间去学了,就算菜鸟现在写了,也只是一个短期的记忆,顶多就是碰到原题不会再错,但是真的深入或者换个选项,我想基本上还是做不出来!
这里菜鸟就当一个了解了,知道这些是个啥,后面肯定还是要学的,这些知识并不是记得是个啥就算过关的!
类型比较 转化 判断
这里菜鸟不得不吐槽,真的类型题太常见了,建议读者好好搞清楚,而且必须总是复习,不复习根本不记得,这个真的就是考记忆力,完全没有什么思考,这种题你思考的前提就是你得记得!
就像菜鸟虽然上个月写了一个类型转换的博客,但是这个月,真的是不记得什么类型转成什么类型是什么了,只记得大致得方法,但是不用很容易搞错!
这里附上三个链接:
这里常考的:
undefined == null; //true
undefined === null; //false
NaN == NaN; //false
NaN != NaN //true
typeof null; // Object
null instanceof object // false
// 比较过程
[] == ![]
// 将右边 ![] 进行转换
[] == false
// 隐式转换布尔值为数字
[] == 0
// 转换左边的 [],调用 [] 实例的 valueOf 方法
[] == 0
// valueOf 方法返回的不是基本类型值,再次调用 toString 方法
'' == 0
// 隐式转换字符串为数字
0 == 0
// 返回结果
true
// 比较过程
{} == !{}
// 将右边 !{} 进行转换
{} == false
// 隐式转换布尔值为数字
{} == 0
// 转换左边的 {},调用 {} 实例的 valueOf 方法
{} == 0
// valueOf 方法返回的不是基本类型值,再次调用 toString 方法
'[object Object]' == 0
// 隐式转换字符串为数字
1 == 0
// 返回结果
false
1 + '1' == '1' + '1' == '11'
true + true == 1 + 1 == 2
4 + [] == '4' + '' == '4'
4 + {} == '4' + '[object Object]' == '4[object Object]'
4 + [1] == '4' + '1' == '41'
4 + [1, 2, 3, 4] == '4' + '1, 2, 3, 4' == '41,2,3,4'
'a' + + 'b' == 'a' + 'NaN' == 'aNaN'
'true' == true // false
'true' === true // false
还有一个比较重要的就是字符串布尔型转布尔型:
菜鸟反正现在已经晕头转向,完全记不住!希望读者可以好好的看看这三篇文章!
总结
这里其实还有几个题目但是感觉只是记忆型的(菜鸟当时不确定,所以写下来了),并不难:
- js四舍五入的函数 --> round()
- XMLHttpRequest在send()前需要调用? --> open()
- E-R图转换为关系模式时,实体和联系都可以表示为? --> 关系
还有两道java的题:
一、
char a;
int b;
float c;
double d;
a*b+d-c的类型是什么?–>double
二、
int a = 10;
double b = 3.14;
“A”+a+b的类型是什么? --> String
菜鸟是只记得一点java,所以当时只能靠猜:第一个我想的是Java好像会往精度高的转化;第二个我就是按JavaScript的操作来的!
反正总而言之,就是大家不要卷了,再卷就都当全栈工程师好了,分个屁的前后端呀!不说了,卷设计模式去了
顺便告诉一个好消息,写这篇文章的时候,致景也打电话让我面试了,笔试顺利通过!
2021/10/23 两轮面试成功通过,只等offer,感觉面试的时候有好几个地方没有回答好,第一就是有一个概念挺简单的,就是忘了,所以不知道怎么回答,然后还有一个就是没有回答好,发现了自己缺少钻研,菜鸟继续加油了!希望读者也能找到好工作!