小米凉经(10.9)

从上午九点等到了接近12.30半吧,终于轮到我面试。面试持续一个多小时,主要就两个问题。

一开始自我介绍,你的项目,里面你认为比较重要的点。spring aop的原理。三次握手说一说。


第一个问题是:有n个硬币,n为偶数,上面有随机的数值,两个人只能从两端轮流取一个硬币。问:全部取完(我理解为每次取都保证这个人赢了),如何保证其中一个人必胜。

解决思路:一定要注意是偶数,将其下标标出来(0,1,2,.....,n-1),首先是分别将偶数位和奇数位的数值都加起来。找出大的一方,比如偶数位大,那么我就可以限制对方永远只拿奇数位的硬币。


第二个问题是:借助Iterator中的next()和hashNext()两个方法,实现自己的迭代器,要求有三个方法:next(),hashNext(),getCurrent()。next()主要是指针后移一位,返回的是指针前面个数值。getCurrent()返回的是指针指向的数字。hashNext()就是直接返回true or false;

如:5->1->2->10->null

若第一次调用getCurrent()返回5,此时再调用next()的话,返回5,再调用getCurrent()返回1;

若第一次调用next()返回5,再调用getCurrent()返回1.

解决思路:主要是要多一个临时变量和一个标记位,是细节。有点绕。我自己把自己给绕晕了。

太菜了太菜了。一面挂。

#小米##面经##秋招##Java工程师#
全部评论
挂了?
点赞 回复 分享
发布于 2018-10-09 21:21
活捉一只大佬
点赞 回复 分享
发布于 2018-10-09 23:29

相关推荐

Noob1024:一笔传三代,人走笔还在
点赞 评论 收藏
分享
尊尼获获:闺蜜在哪?
点赞 评论 收藏
分享
评论
点赞
17
分享
牛客网
牛客企业服务