







最近很少写博客了,最多成为闪存板块一名无业游民和闪民一起闪出精彩,2009年9月1日正式离职,一直处于准备面试和被面的局面,毕竟四年都没有过被面的经历,最近积极准备着数据结构和算法,这是每个公司必须要考察的一方面。
曾几何时,我第一家公司是这样面试的,公司去学校招聘,呵呵,那时候春风得意,笔试题也轻松搞定,咱在学校也属于“好学生”行列,自然很顺利的来北京谋生,只可惜公司运营不畅......不得不去第二家公司,就是我现在的公司,电话面试,笔试是直接上机,做一个登录系统,可以查MSDN,可以上网,在我的印象中,这样的公司才是真正选拔人才的公司,一晃四年过去了,由于个人原因,辞去了公司的职务,选择了挑战。
犹如井底之蛙,对外边的世界变化浑然不觉,对于面试,我也曾经面试过别人,可是被面的感觉很糟糕,有点眼高手低,基础的知识没有放眼里,细节没有放心上,我应聘的是高工,面对诸如需要专业方向很强的公司:例如,GDI+,NetWork等必须精通的公司要求,我无能为力,我不是精通这些,也不是熟练掌握,而是熟悉,因为是应聘高工,不仅仅要求软件的架构设计,我们公司是做产品,必然要求对架构设计要求高,而有些公司,现在好多外包公司,讲求的是效率,要拿下项目,必须有很好的台面功夫才行,不论你怎么好的设计,必须在规定时间内实现这些功能,所以这些所谓的设计似乎被消弱很多,更多的是要求你能搞定这些问题,anyway。
尤其是像微软这样的公司,数据结构和算法是重头戏,这些搞不定,必然是能力上的折扣,虽然微软有自己的“题库”,看了<<编程之美>>你就会发现,其实到处都是他们的面试题,很随机,不要期望去背一些算法什么的,没戏,不排除有些时候也能来个火星撞地球,特别是搞“高级一点”,“傻瓜一点”,“智能一点”语言的同仁更是用类库抵挡一阵,所以面试时还要捡回来这些平时我们不用但能体现你基础水平和思维方式的算法。
晚上看博客园文章是发现小夏写了一篇“趣味算法:返回不重复数的实现”,题目要求如下:
简单的测试了一下,符合题意,测试数据如下:
long[] xN = new long[] { 1122, 18, 21,123, 98,100011,121989999};
foreach (var l in xN)
{
long x = GetNextNotDuplicatedValue(l);
Console.WriteLine(x);
}
如果数据更大,例如:121989999991999,花了好几分钟也没算出来,这个时候真的需要考虑时间复杂度等问题了。
但起码,我们完成了”任务“。
天色已晚,优化的任务交给算法大拿了,这次跳槽,立志捡起数据结构和算法,看到园子里高手比拼算法,好羡慕,希望自己以后也是其中一员。
附小夏算法:
Code
如果你热爱算法,想挑战一下,看看<<编程之美>>,保证你受益匪浅。
补充老流的思路:
Code
补充jt的思路,递增机制没什么不好,效率也不低:
Code
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。