虽然读了这么多年的书,但是这应该算是第一较为正式的笔试。
去哪儿2015春招的笔试题应该来说很简单,总共才7个题。开发的1、2、3,Web端的1、2、4、5,测试的1、2、6、7。
第一道题是一在有序数组的一个查找,实现indexOf函数的功能。例如,类似有这么一个数组,[1,2,3,4,5,6,7,8,9],查找的数组可能是[6,7,8,9,1,2,3,4,5]也有可能是[9,8,7,6,5,1,2,3,4]。当时,第一种想法是——最原始的做法,直接查找,但是考虑到效率比较低,不太可取,但是还是把这种方法写上了。想来第二种方法,可以排序再折半查找。结果,写完才反应过来,排序还要花时间啊,还不如第一种。所以,这道题基本上是算做废了。后来交流的时候,才想起可以左右开始啊,不过一切都来不及了。
第二道题是字符串操作,输入的字符串a1b2c3,要求返回的字符串是aabbbcccc。这道题也算比较简单。
第一种解法,老老实实来,遇到数字、转换成整数,再追加字符。
第二种解法,
第三种写的是正则表达式,但是当时没有想出来。
第四道题。输入abc.txt,获取文件格式txt;
解决的方法是用splite结果写成了splice。用splite然后返回,下标为1的。
第五道题比较麻烦,类似这个样子;
var item = [{
"name":‘bob‘,
"age":90,
"child":[{
"name":‘tiny‘,
"age":70,
"child":[{
"name":‘sandy‘,
"age":50
}]
},{
"name":‘liy‘,
"age":75,
"child":[
{
"name":‘jim‘,
"age":50,
"child":[{
"name":‘angle‘,
"age":30
}
}
]
}
然后输出是大概是这个样子:
<ol> <li>name:bob</li> <li>age:90</li> <li>children: <ol> <li>name:tiny</li> <li>age:70</li> <li>children: <ol> <li>name:sandy</li> <li>age:50</li> </ol> </li> </ol> <ol> <li>name:liy</li> <li>age:75</li> <li>children: <ol> <li>name:jim</li> <li>age:50</li> <li>children: <ol> <li>name:angle</li> <li>age:30</li> </ol> </li> </ol> </li> </ol> </li> </ol>
要求递归输出。
总结:题目都比较简单,但是做的并不好。
第一,没有仔细思考,提笔就写代码;
第二,函数名记不清楚,导致写错;
第三,基本的排序查找算法还是要记住,要写得出代码(惭愧啊);
第四,基础,一定要掌握基础;
原文:http://www.cnblogs.com/mulan/p/4361069.html