引子
最近 我们前端团队在招人,由我来负责面试。最近面了很多人,深感招聘不易,有些面试者甚至颠覆了我对“经验”二字的理解,也不是说水平都很差, 有些比较优秀一点呢,人家的选择又比较多,不太愿意来我们这样的小团队!
题
市场上有很多2到3年经验的前端 ,我想2-3年经验,我问一个数组求和应该不难,看看 代码能力如何 问题一:
// 请封装一个函数,对数组进行求和
let arr = [1,2,3,4,5,6,7,8,9,10];
// 参考答案
function getSum(arr) {
let result = 0;
for (let i = 0; i < arr.length; i++) {
result += arr[i];
}
return result;
}
结果 ,超乎我的想象,有的人把 result 变量 定义在函数外,有的人在 for() 写逗号 ,一点也不夸张!欢迎在评论区提供更多的解法!
对于经验稍微丰富一点的,我会稍稍增加一点儿难度,比如这个,在实际项目场景中还比常见:
// 有一个手机号 18043779087 ,需要把中间的4位变成*号 如:180****9087
let phoneNumber = '18023229090';
// 参考解法一:
let hidePhoneNumber = phoneNumber.slice(0, 3) + '****' + phoneNumber.slice(-4);
// 参考解法二:
let hidePhoneNumber = phoneNumber.replace(/^(\d{3})(\d{4})+$/, '$1****$2');
// 参考解法三:
let hidePhoneNumber = phoneNumber
.split('')
.map((x, i) => (i > 2 && i < 7 ? '*' : x))
.join('');
console.log(hidePhoneNumber);
后记
对于一个中高级的前端工程师岗位,你认为这些题有难度吗? 欢迎谈谈你的看法!
我一定会招到合适的人,欢迎继续关注我后面的分享!