ofo的高效进军(一面面经+准备过程)

Uber盛行时就曾盯着自己快积灰的自行车模模糊糊有过单车共享的念头,不过毕竟没足够的魄力和能力将想法付诸行动。得知OFO时心情很复杂,一方面是对自己曾经想法的肯定,一方面又是对自己曾经犹疑的恼悔。但无论如何,看到ofo的招聘信息时,还是毅然决然的投了简历。

OFO的效率快到惊人,我是睡前投的简历,第二天早上就被来自OFO的电话叫醒,直接约了下午的面试。

面试流程比较常规,首先是半分钟的自我介绍,然后就简历上所写内容进行提问。项目部分问的比较浅,我的简历上共写了三个项目,面试官只挑了两个进行提问,一个问了整体构架、主要技术难点和人员分工,另一个问了使用到的设计模型和最终完成情况。之后进行了基础能力考查,涉及的范围包括数据结构、设计模式、数据库操作、iOS和Android 之间的异同、block的原理等,中途给出了两个算法题要求现场编写:

1. LintCode 原题:数组划分。http://www.lintcode.com/zh-cn/problem/partition-array/

2.LintCode 原题:线段树查询。http://www.lintcode.com/zh-cn/problem/segment-tree-query/

最后,结合ofo现有系统和实际情况进行现实问题解决能力的考查。

目前仍在等待进一步通知,但总的来说面试发挥自认不错,证明之前的准备还是颇有成效的。

从三个月前才开始为求职做准备,我算是起步较晚,时间紧迫的一类。完成一些基础内容的预习+复习后,时间就仅剩一月有余可供算法刷题。此时有效利用时间与我来说非常重要。因此,正式刷题前我专门花了两天去收集各种刷题网站及相关评论,并初步体验了几个评价较好的网站,最终选定Lintcode。主要看中里面的阶梯训练。在Lintcode 的阶梯训练模式下,网站负责完成对各种类别、各家公司的面试题刷选,留下经典的精华部分,全而精的练习题大量提高了我短期内的刷题效率。共享给和我一样准备过程时间紧任务重的备战者们。

而在利用阶梯训练刷题过程中,对于那些总是做不好的题型,我发现利用Lintcode上的类型分类进行定点训练、相同类型题目按难度值逐步攻破的做法颇为有效,基本可认为当完成难度为hard的对应类型题刷题时就近似于完成对该类型题的掌握。

期间由于自身能力问题,我时常会遇到花大量时间都无法解决的题,而这时就比较建议去研究参考答案,而非强做或置之不理。刷题期间,我花了大量时间研究参考答案。推荐一个参考答案的网站:www.jiuzhang.com/solution,上面的参考答案很全,查询方便,而且非常简洁高效,我大部分答案都是从这里获取的。将时间花在研究参考答案上是非常值得的,经过一个月多的参考答案研究,我所写的代码运行效率已有了大幅提升,相信若是继续坚持,必能获得质的提高。

目前经历的面试及准备过程大概就是这样,最后祝自己接下来一切顺利。

你可能感兴趣的:(ofo的高效进军(一面面经+准备过程))