分析不足,明确目标

      从2002年5月至今,已经工作三年半的时间了。最近的半年,由于基本没有什么工作压力,再加上长期在外地出差,状态一直不是很好,工作和学习的效率都很低。为了调整状态,给自己寻找一些压力和明确的目标,这个月初在51job上刷新并打开了封存已久的简历。很快,就有公司打电话通知我面试了。
      第一家公司是给微软、IBM等外企做外包的。去了之后先做了一套题,题量很大,涉及到的东西也比较多——数据结构、设计模式、数据库复合查询、ASP.NET、ADO.NET、事件委托模型等,另外还有关于.NET Framework的中英文互译。整套题做下来感觉还行,出现问题的地方一个是数据库复合查询,究其原因是太久没有做具体的项目,太久没有动手写SQL语句所以手生了(借口,其实还是自己基础不够扎实 );另外就是事件模型,其实是很常用的东西,但一直没有深入研究,对其概念和原理也是模棱两可,没有完全领会。接下来就是面试了,技术方面的问题都能应对自如,但英语口语实在太差,以至于最后也没能张口说出来。  急需加强锻炼!!
      接下来的一段时间,先后又经历了4家公司的5场面试,面试的方式大都是笔试加面谈。因为我并没有主动向公司投简历,所以这几次面试都比较被动。虽然没有发现自己特别满意的公司,但却也从中发现了自己很多方面的不足。
      首先就是英语口语,这是去外企甚至于很多外包公司所必备的能力。所以,一有机会,就要在这方面加强锻炼。
      技术方面,基础很重要。数据结构中的算法题在笔试中几乎都会考到,当然学数据结构不仅仅只是为了应付笔试,在很多编码以及设计的过程中都会涉及到数据结构的内容。所谓万丈高楼平地起,基本功一定要扎实。
      关于数据库,经常会在面试的时候要求把Oracle、SQL Server这两大主流数据库做一下比较,存储过程、触发器的优缺点,并发、锁定等问题也会涉及。这些东西,虽然用的很多,但往往都是从网上找现成的代码改一改解决问题就OK了,根本不去究其根本。知其然,不知其所以然。以后在工作和学习的过程中也要注意,不能只是以解决问题为目的,而要能够深入研究,举一反三地去思考,这样才能学到更多的东西。
      .NET 技术方面,ADO.NET、ASP.NET、Windows Form,Remoting、Web Service等都是常用的技术,虽然看上去并不复杂,但涉及到的东西还是很多的。学习的过程中除了重点掌握一些技术点之外,还应尽可能地全面了解。即使不能做到面面俱到、样样精通,起码要能够融会贯通。对每种技术的优缺点、适用范围一定要清楚,并能够联系一些相关的技术进行一下对比,这样就能够举一反三了。
      我在技术领域的最终目标,是做系统分析和设计。对于有同样兴趣的人来说,设计模式和软件工程就是必不可少的了。尤其是设计模式,一定要精通!GoF的23种设计模式,在很多开源项目以及.NET、Java的类库源码中,都被大量运用,这些都是用来学习的很好的范例。
      最后总结一下,英语的读写能力自然不用说了,如果想要进外企的话,听力和口语是必须要过的一关;基础一定要扎实,尤其是数据结构;平时在工作和学习的过程中,不能只是为了解决问题而解决问题,在过程中要尽量地多联系、多思考,深入地领会技术的概念和本质,这样才能够触类旁通、一举多得;如果想要做系统分析和设计,设计模式和软件工程都是必修课,务必要做到精益求精。
      这些就是我最近一段时间面试之后的心得,现在写下来主要是为了整理一下自己的思路,分析自己的不足,明确今后奋斗的目标。希望能对大家有所启发和帮助。
原文地址:https://www.cnblogs.com/sourceforge/p/283514.html