之前某米的手机可谓是出尽了风头。上周末有幸得知了某米手机在公司总部组织的一次开放性笔试,即只要携带简历去公司,即可参加笔试。时间是下午16:30——18:00笔试。由于公交要路过798艺术区,因此原本可以提前半小时到达公司总部并参加由公司组织的参加官司的活动很遗憾没有赶上。当去公司的时候已经过了笔试时间10分钟,我们连忙道歉。去的时候就一直在想是做开发还是测试的卷子呢,最后还是选了测试的卷子,因为之前在网上也搜到了其他人发的某米2013年校园招聘的题,http://blog.csdn.net/w397090770/article/details/8032898,感谢这位博友的奉献。上午在网上看了看这套卷子,发现没有思路,就算还是原题也还是答不上来。索性就考测试吧,起码文字性的东西应该多一些吧。
到底公司后,HR问了我们考试的方向,然后带着卷子把我们几个领到了办公区,找了几个空座位让我们做下,作为本次笔试的地点。沿途看到了正式员工还在电脑前奋战着,都是两个大屏幕摆在面前,有的还开着苹果笔记本。屏幕上大部分是Linux的黑色背景和密密麻麻的代码。待坐定后,旁边便是某米的员工在认真地工作着。
拿到题后,我竟一时没有缓过神来。这是测试的题吗,怎么像是产品的题呢。但再看卷子的题头,的确是测试的题哦。然后我便又一次读起了卷子的题目。以下是纪实吧。
一、简答题:
1. 假如你是时尚达人,给你200—400元钱,那么你会买哪个品牌的鞋呢,为什么?
假如你是电子数码控,给你1000—2000元,那么你会买哪个品牌的手机呢,为什么?(此题与小米手机无关)。以上两个问题,请任选其一,进行回答。
2. 请用一句话向我说明,你大学期间最爱/不爱上的一门课的原因?
3. 请写出你在学校期间最常去的一个食堂,该食堂所开各个窗口的名称,并写出这些窗口的口味?写出10个以上。
4. 如果你有机会去做开发,那么你还会做测试吗?为什么?
二、程序编程题:
1. 四则运算的正确性检测。输入一串字符串,是进行四则运算的字符串,请验证这个字符串的正确性。正确性的要求主要有以下几个要求。
(1)该字符串中,只能包含数字,运算符(加,减,乘,除),括号(这里只有小括号);
(2)小括号的嵌套要正确,不能出现非法的嵌套;
(3)该字符串最后要能够得出正确的结果。
请写出满足上述条件的函数,并且给出相应的测试用例。
bool isValidExpression( const char *expression ){}
2. 已知有n个人(以编号1,2,3,...,n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从k开始报数,数到m的那个人又出列;依次规律重复下去,直到圆桌周围的人全部出列。比如有9个人,从第一个人开始报数,数到5的人出列,那么可以推出依次的出列顺序为: 5,1,7,4,3,6,9,2,8。这个题是循环链表的题目。
(1)请写出循环链表的节点定义;
(2)请写出循环链表构造函数的实现;
(3)请写出该程序输出函数的实现,并将出列的结果顺序输出到屏幕上。
另同去的同学,是考Java的。有几道题。
1. 请用函数来实现一个成员函数pow(m,n)的内部实现机理。
2. 一个字符串,循环向右移n位,可以形成一个新的字符串,那么请用程序来实现查找其中某一个字符在新的字符串中的位置。