9月23日上午参加来去哪儿网的校招笔试。
试卷共7题,前3题是程序题(2必须+1选做),接着是前端2题,最后是测试2题。
程序题要求使用熟悉的语言即可。分别是:
程序题:
1、实现一个函数String padString(String string, int minLength, char padChar),使
- padString('7', 3, '0')返回'007'
- padString('2010', 3, '0')返回'2010'
我用python来解答,相对简单一点。我的答案是:
#!usr/bin/python
#coding:utf-8
def padString(string, minLength, padChar):
if len(string) > minLength:
return string
pad = padChar * (minLength - len(string))
return pad + string
if __name__ == '__main__':
print padString('7', 3, '0')
print padString('2010', 3, '0')
2、参数分析函数,比如字符串“-name jack -age 21 -msg "University" ”,属性名“-”开头,跟字母;各部分之间至少1个空格。要求返回如下格式:
[-name jack, -age 21, -msg "University"]
我还是用python解答:
#!usr/bin/python
#coding:utf-8
import sys
def parseCmd():
result = []
for i in xrange(1, len(sys.argv), 2):
key = sys.argv[i]
value = sys.argv[i+1]
if key[0] != '-':
print 'unexcept arguments'
break
resStr = '%s %s' % (key, value)
result.append(resStr)
return result
if __name__ == '__main__':
print parseCmd()
估计是不符合题目要求了
3、编写一个函数String diff(String strA, String strB),使返回:
diff('abcde', 'bcde')返回'-a'
diff('abcde', 'bcdef')返回'-a, +f'
因为是选做,所以我当时没有作答
前端部分:
4、有两个兄弟元素div1、div2,宽高100px、1px边框。画出下列情况的示意图
- .div1 {position: absolute; float: left;} .div2 {position: absolute; float: right}
- .div1 {position: absolute; float: left;} .div2 {position: relative; float: right}
- .div1 {position: relative; float: left;} .div2 {position: relative; float: right}
回来后实际测试,结果如下:
(1)
(2)
(3)
我在第一个情况跪了。一直没有把position和float一起用过,所以拿捏不准。
5、编写JavaScript函数indexOf(),参数为两个字符串,要求返回第2个字符串在第1个字符串中的位置;如果不包含,返回-1。例如:
- indexOf('hello', 'el') 返回2
- indexOf('abcde', 'fg') 返回-1
我的解答:
function indexOf(supStr, subStr){
var supLen = supStr.length;
var subLen = subStr.length;
for( var i = 0; i <= supLen-subLen; i++){
if(supStr.substr(i, subLen) == subStr){
break;
}
}
return (i > supLen-subLen) ? -1 : i;
}
indexOf('hello', 'el'); // 1
indexOf('hey, hello!', 'el'); // 6
indexOf('hey, he', 'el'); // -1
现在已经是25日了,还没有后续的消息,估计是跪了……