豌豆荚 Android 开发岗面经

我应聘的是Android职位,因为我之前做了一些android项目,像是mini-linkedin, dribbble,简历上相关经验还蛮多的,所以简历关顺顺利利就过了。感谢带我做项目的九章的郭靖老师。

然鹅,最后还是跪在四面,好可惜啊,没有看到junyu!!!是次不错的经历!总结一下,跟大家分享一下经验。

一面:

1.先问技术,都是基础。

Andoroid内存回收机制、如何解决OOM、线程创建的方式、多线程的通信、还有一些java异常相关,比如在try catch中的catch中再次throw exception 、finally等。(建议多看看handler原理、WindowManager等)

2.接着就是算法题,在线编程,哈哈,这种体验还是第一次。

考了了两道算法题,比较简单。

第一道题就是斐波纳契,不过需要大数处理 ,直接用java的bigInteger就行。

ps:其实在Android优化方面关于斐波那契数列的计算是有很多种方案的。

题目描述:http://www.lintcode.com/zh-cn/problem/fibonacci/

参考答案:http://www.jiuzhang.com/solution/fibonacci

第二道加油站问题,在LintCode上刷到过,很简单的,偷懒贴个链接。LintCode题库蛮全的,数量也多,基本涵盖所有IT公司会面到的算法题,还是更有针对性的准备面试更有效点。

题目描述:http://www.lintcode.com/zh-cn/problem/gas-station/

参考答案:http://www.jiuzhang.com/solution/gas-station/

二面:

1.项目介绍:围绕简历问了一些我简历上的 android 项目,面试官对我的 Dribbble 项目很感兴趣,问了好多问题。因为我都是实实在在做过的,答得也比较好,感觉面试官挺满意的。

2.算法题:

第一道全排列问题

题目描述:http://www.lintcode.com/zh-cn/problem/permutations/

参考答案:http://www.jiuzhang.com/solution/permutations

第二道判断二叉树是否为平衡二叉树

题目描述:http://www.lintcode.com/zh-cn/problem/balanced-binary-tree/

参考答案:http://www.jiuzhang.com/solution/balanced-binary-tree/

那天发烧了,头昏昏沉沉的,大概真的要烧坏了,一开始我竟然用非递归中序遍历,幸好过了一会,突然惊醒,用递归实现很简单,想想真是后怕。有兴趣可以自己去LintCode上找来做做。

二面也顺利的过了~

三面:

1.Android 技术问题

Activity的四种启动模式和事件分发机制

这个我上Android班的时候,郭老师都有讲过,觉得自己运气好好。

2.写代码

第一题:转换字符串到整数

题目描述:http://www.lintcode.com/zh-cn/problem/string-to-integer-ii/

参考答案:http://www.jiuzhang.com/solution/string-to-integer-ii

第二题:买卖股票的最佳时机

题目描述:http://www.lintcode.com/zh-cn/problem/best-time-to-buy-and-sell-stock/

参考答案:http://www.jiuzhang.com/solution/best-time-to-buy-and-sell-stock/

另外,LintCode上有它的系列题,可以都看看。

后来接到一个声音很好听的小姐姐通知我进行4面面试,超nice。

四面:

在一个下午进行了四面,面试官很严肃,先是让我聊聊网络编程,又让我讲讲J2EE,面试官一副什么都不知道,让我讲给他听的样子,感觉他不太满意。出去的也很懵逼,说不出来有哪里不对,就是感觉蛮差的。

果然四面后就收到了拒信,感觉有点可惜啊。总结一下,就是豌豆荚对算法和代码要求都蛮高的,算法也比较经典,建议多刷题。另外,多利用闲暇时间做点 android 相关的项目,比较容易通过简历关,而且面试的时候,也会问到这些项目的。

你可能感兴趣的:(豌豆荚 Android 开发岗面经)