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);
我还是第一次见到 输入是函数调用形式 的题目,很有趣,也很有挑战性。