前言
上周参加了学校的 Career Fair,想锻炼下面试技巧和口语能力,为下学期找暑期实习做点准备。那天整条路都是熙熙攘攘的面试官和学生,Facebook、Amazon、Microsoft、eBay 这些大公司尤其火爆,有的人排了几个小时才面试上。
因为我刚来 USC 两个月,实力不够,而且大公司又有冷冻期(一次没有录上半年内不再面试),所以我也没敢投大公司,挑了几个看起来不错的小公司试试水。一共投了五个,拿到 Percolate 和 Paypal 两家的 Coding Challenge,还有一家 Demand Media 说是非常喜欢我,之后会打电话让我去 onsite interview(为啥现在还没打电话!)。
这道题是 Percolate 的题,名字叫 Funky Rolodex(复杂的关系网) 并没有考算法,而是非常贴近实际需求,处理文本文件,筛选出正确的数据解析并输出成JSON格式。虽然并不难,但是需要注意的小细节不少,譬如输出结果要按照相应地缩进,要对数据按照 Lastname 和 Firstname 排序。我之前没有注意到排序这一点,导致后来重构了一些代码,而且对我来说,排序这里是最难的(后面会解释)。
总体来说这是一道非常好的非算法题,考到了JSON,正则表达式,面向对象编程,字符串比较等等,而且这道题非常考察细心程度。