想了5道题。
个人感觉可以提现出1年以上的能力。
考察点包含了js语法基础,对算法有没有最基础的认识,有没有js的思想,有没有了解过es6。
全做对不难,做到点上真能提现出水平。
0.写出 9*9 乘法表
1.let a = 1;
let b = 2;
将a,b的值交换,最好用3种方法实现。想一想有没有只需要一行代码的方法? (可以考察基础,也可以看出对js的认识程度,)
2.字符串 str = a + b ; str = 3; 如何实现我们希望的结果 21,能否用两种方法实现?
(考察基础, 考察是否了解es6)
3.12 6 8 10 4 19 13 7 2 ....几万的个数中 用你认为最快的方式查出相加等于5000的一组数。并写出算法的时间复杂度。
(考察js语言的基本语法是否熟练,同时考察是否了解时间复杂度)
4.如下代码
let fun = (param) => {
param('good!');
return 'nice!';
};
$.ajax({
async: true,
url: './test',
data: ....,
success: function (res) {
$.ajax({
async: true,
url: './test',
data: ....,
success: function (res1) {
console.log(fun(function(val) {
console.log(val);
}));
});
console.log('stop');
});
});
console.log('go');
默认上面代码可以正确执行,执行打印的结果是?
(考察对异步的了解,和js参数类型的理解)
5.
const p = 1;
{
var p2 = 2;
let p3 = 3;
p = 4;
}
function f(p5 = 5) {
console.log(p);
console.log(p2);
console.log(p3);
console.log(p5);
};
f();
以上代码是否正确,写出执行结果,不正确的话,去掉错误的行后写出执行结果