20170803 阿里菜鸟网络一面-JAVA研发工程师

菜鸟网络内推一面,时长1小时33分钟。

1.自我介绍

2.问了本科毕设。介绍项目,自己的设计效率有什么优势?(时间+空间)哪些是原创,哪些是受人帮助完成。编程语言?(C)编程过程中遇到了什么问题?

3.介绍算法比赛。问了蚁群算法,自己有哪些改进,各种追问细节。算法的效率如何?哪些因素会影响效率?还给出了另一种解决方案:限制蚂蚁经过的节点数,比如1000,如果蚂蚁找到终点,就记录当前步数。是否可以考虑每个节点都放置蚂蚁?结合实际问题总和问了蚁群算法。

4. 研究生课题介绍。

5.算法题:写出全排列。

我说了递归实现:http://blog.csdn.net/a358463121/article/details/45543879

给出了另一种思路:比如123,有4个空格,插入4的位置有4中。

6.算法题:用汉语表达数字。比如:123,一百二十三;101,一百零一;1001,一千零一;1001000,一百万一千。限定最大的数为“亿”。

不太会,面试官很好,给出了思路:参考有限状态机的想法。注意到,中间加不加零,是根据每4位中间有没有零而定的。因为限定了最大为“亿”,所以将数字从千万开始除,再除千。分别看中间有没有零,记录状态。大概意思是这样,一会还要再思考一下。

7.堆中插入元素,如何实现

8.数据库:以id为例,查找重复元素的。

查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断

select * from people

where peopleId in (select   peopleId from   people group by   peopleId having count

(peopleId) > 1)

9. 操作系统:三个线程A,B,C,要求,先输出A,再输出B,再输出C;再输出A ···以此类推

我答了wait()和唤醒。意思应该是对了,但还要再看看。

10. 最近在看什么书?(《程序员面试宝典》哈哈哈哈)对方尴尬,看了多少?平时看书速度怎么样?看没看其他技术书?

11. C++之外接触过什么语言?

12. 学习能力如何?500页的数能看多久?

13.如何评价自己的编程能力?

14. 有没有其他问题想问的。

最后聊得很愉快了,然后问了阿里的面试流程:3轮技术+1轮HR,只会越来越难。面试官建议多看算法、数据结构,计算机网络、操作系统,数据库也要看。对项目要熟悉,比如我参见的最优路径比赛,就一定要知道其他的最短路径算法

面试官人真的很好,从上周开始各种打电话我都没有接到,竟然还没放弃我,给我发了短信。比较幸运遇到了这么好的面试官。

希望后面的面试也顺利!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,765评论 18 399
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,284评论 25 708
  • 这不是文字游戏,我们一字一句都必须遵从内心,如若表达过于华丽与浮夸只会让你忘却最初想要说些什么。
    惬意的麻木阅读 156评论 0 0
  • 桃花影落,碧海潮生。不知多少梦转回肠里,都刻着与彼此相关的记忆。 那个意气风发,你说他痞里痞气,却执剑降妖伏魔、重...
    木白非白阅读 569评论 0 9
  • 突破自我设限 相信大部分不会画画的人都跟我一样,常常觉得自己画不像、画不好,因此对“下笔画画”这件事情很恐惧,画完...
    听说Hey这个昵称被使用了阅读 375评论 0 0