9.14 去哪儿 前端 笔试

公司:去哪儿
岗位:前端开发
时间:9.14 12:00 - 21:00 内任意两个小时
地点:赛码网
题型:6道选择题+3道OJ

1、大数加法
输入:
2222222222222222222222222
3333333333333333333333333
输出:
5555555555555555555555555

2、柯里化问题。
对于如下一段代码,实现一个函数 curry 将Sum函数柯里化。
function sum(num1, num2, num3) {
    return num1 + num2 + num3;
}

function curry(func) {
    /* Write Code Here */
}

let curriedSum = curry(sum);
let res;

var _case = read_line();
res = eval(_case);
print(res);
输入:curriedSum(1,2,3)
输出:6
输入:curriedSum(1)(2)(3)
输出:6

3、数据代理。
编写一个 dataProxy 函数,它能实现这样的效果:
- 无效的递归属性查询,返回 undefined
输入:dataProxy({ret: true, data:{n: 1, count: {t: 2}}}).a.b.c.d()
输出:undefined
- 无效的递归属性查询+默认值参数,返回默认值
输入:dataProxy({ret: true, data:{n: 1, count: {t: 2}}}).a.b.c.d(true)
输出:true
- 有效的递归属性查询,返回查询到的结果
输入:dataProxy({ret: true, data:{n: 1, count: {t: 2}}}).data.count()
输出:{t: 2}
function dataProxy(data, path = []) {
    /* Write Code Here */
}

let res;
var _case = read_line();
res = eval(_case);
print(res);

我还是第一次见到 输入是函数调用形式 的题目,很有趣,也很有挑战性。



#去哪儿##笔经#
全部评论
第三题我的实现: function dataProxy(data) {     const fn = d => typeof fn._dict === 'undefined&(14313)#39; ? d : fn._dict;     fn._dict = data;     return new Proxy(fn, {         get(target, property) {             if (typeof target._dict === 'object&(10249)#39; && target._dict !== null && property in target._dict) {                 return dataProxy(Reflect.get(target._dict, property));             }             return dataProxy();         }     }); } const data = {     res: true,     data: {         count: 1     } }; const proxyData = dataProxy(data); console.log(proxyData.res()); console.log(proxyData.data()); console.log(proxyData.data.count()); console.log(proxyData.b.c.d('自定义&(14314)#39;));
1 回复
分享
发布于 2021-09-14 22:32
收到面试邀请了
1 回复
分享
发布于 2021-09-15 17:24
联易融
校招火热招聘中
官网直投
题3 var dataProxy = function (data) {     let dataType = typeof data;     return new Proxy(defaultVal => dataType === 'undefined&(14313)#39; ? defaultVal : data, {         get(fn, key) {             if (dataType === 'undefined&(14313)#39; || data === null) return dataProxy();             return dataProxy(data[key]);         }     }) }
5 回复
分享
发布于 2021-09-14 23:02

相关推荐

1 22 评论
分享
牛客网
牛客企业服务