程序员的面试
一个程序员去一家大公司面试,面试官给了他一道题目:“请写一个函数,输入一个字符串,返回该字符串的反转。”
程序员点点头,说:“这个简单。”他拿起笔在纸上写了几行代码,很快就完成了。他的代码如下:
def reverse_string(s):
return s[::-1]
面试官看了看,点点头,说:“不错,现在请你优化这段代码。”
程序员想了想,又写了几行代码:
def reverse_string(s):
return ''.join(reversed(s))
面试官点点头,说:“很好,现在请你再优化一下。”
程序员皱了皱眉头,又想了一会儿,然后写下:
def reverse_string(s):
return ''.join([s[i] for i in range(len(s)-1, -1, -1)])
面试官微笑着点点头,说:“很好,你已经展示了你对Python的深刻理解。最后一个问题,请你用最简单的方式再实现一次。”
程序员深吸了一口气,然后写下了最后一行代码:
def reverse_string(s):
return s[::-1]
面试官看了看,笑着说:“恭喜你,你被录用了。我们需要一个既懂得优化,又能回归本质的程序员。”
程序员高兴地离开了面试室,心里想着:“原来面试不仅仅是考察技术,还要考察思维方式啊。”