现在已经快6月份了,寻找暑期实习工作的同学,应该都有了自己的Offer或者多个Offer了。而对于明年就要离开校园的同学,现在选择实习单位,很大程度上是选择毕业后要加入的公司了。我想,有不少同学,尤其比较出色的同学,在选择的时候会有些困惑和纠结。我想说说我的看法。
我下面谈到的部分,主要是针对研发工程师的,也许对于别的岗位也能有所参考。
同学们要选择自己毕业后的第一家公司,会考虑比较多的因素,从我个人来说,想到的几个主要的因素是:
地域
薪资
行业
职位
公司
对于上面的因素,每个同学的排序是不同的,权重也不会相同。对于每个人的选择,我觉得没有对与错,只是每个人会有每个人的看法。
那么,在如何选择之前,首先需要自己对自己做一个评估。并且,也要考虑一下自己的目标。
对自己做评估,做到非常准确,也很困难。但是我们还是要去想几个事情:
你喜欢什么?
你现在能够做到什么,具备怎样的知识和经验?
你有怎样的特质和潜质?
兴趣点很重要,做自己有兴趣的事情,你不会觉得辛苦、更不会觉得痛苦,而是乐在其中,工作不比学校中做些课程实验,想想自己到底喜欢什么。
而你能够做到什么、具备怎样的知识和经验,更多的是对你目前的技能的评估,看看你能够目前胜任怎样的工作。
而自己的特质和潜质,是你成长的推进剂,也是在你所掌握的知识和经验外的非常重要的东东。
想清楚这三块儿,对你的选择会有帮助。而且对于还在找工作的同学,也很有帮助。你要归纳下这三个部分,简历上、面试中让你的面试官知道这些,并且你要给他具体的案例的支撑。
在毕业的时候,想清楚自己比较长期的目标,是非常困难的一件事情。不过,不能因为困难,就不去考虑。还是要想想,自己希望自己3到5年后,成为怎样的一个人?能够做到怎样的一个程度?目标引领我们前进的方向,即便在过程中,我们会调整目标,但这不妨碍我们先确立自己的目标。有了目标,我们的行动就不再盲目。
看到这里,同学们先好好评估下自己,然后想想自己的目标吧。
那么,下面我想说说我个人的建议。请注意,下面仅仅代表我个人观点。
我看到很多同学在选择的时候,会非常看重地域和待遇这两个因素。其实这个真的是不正确的(我知道,这么说很多同学是听不进去的)。我觉得如果你想长期的做这一行,那么更重要的是要考虑如何能够让自己得到发展和提高。而薪资和发展无关,地域关系也不太大。
先说薪资,我觉得对于刚毕业的学生,千万不要因为A比B一个月高了1K、2K的,就不去考虑A和B哪里更合适自己。如果A和B对自己的发展差不多,选个薪资高的肯定没问题。但是如果把薪资凌驾在发展之上,将来你比你没去的那家公司要更加的后悔。也有同学说,薪资体现了公司对你的看重,那我想说,这个比较不是拿A和B提供的薪资比,而是要分别在A和B的内部横向对比。你才知道你是不是被看重。另外,被公司看重和自己发展的快和好,未必是成正比的。我这里举个例子。
A很重视你,给你很大的空间,让你自己发挥,重点培养你;B没那么“重视”你,给你安排很“常规”的发展计划。最后的结果,一定是在A更好么?这个未必的。对于刚毕业的同学,我知道会有非常厉害的人,不过这个比例注定不会很大。对于大部分同学,甚至也包括非常优秀的同学,你需要的是一个好的环境,而不是所谓的被重视。为什么对于B,我的重视和常规加了引号呢?其实,除了政府企业外,我觉得没有哪个企业是不重视人才的。一般来说,同样一个人,在A被很重视,在B感觉一般,那么背后的现实是,B比A的实力要更加强,人员的水平更高。这就是一个简单的鸡头凤尾的问题。而不要说对于刚毕业的同学了,包括有工作经验的人,环境都非常的重要,不是有那么句话么,一滴水到了一杯奶中,水就变成了奶,一滴奶到了一杯水中,奶就变成了水。好的环境,给你提供了更快成长的平台。好的平台会给你系统的培训;会给你一个周围很多牛人的团队;会给你很多机会,可能你觉得在团队里不是最优秀的,但是如果你能认真的工作一段时间,在出去跟其他同龄人比比,那你就知道结果了。
所以,我想说的是,不要对薪资的看重超过了个人发展。去对你发展有利的环境,用3-5年作为周期,你自己的发展不但更好,总的收入也不会差。而对你来说,更重要的财富是你自己的能力。
再说地域,很多人一定要去上海、要去北京、要去哪里哪里。这个地域的选择,和薪资是类似的道理,还是个人发展更加的重要。可能有同学说,北京的IT环境更好。这个没错,问题是,这个环境对于你在不同的时间,帮助是不同的。对于刚毕业的同学,内部环境对你的帮助,是要远远超过外部的环境的。IT环境更好,我能想到的就是交流方便和跳槽方便。对于刚毕业的同学,第二个就别先考虑了,而交流这个部分,对于刚毕业的同学,内部的信息和一些基础的知识,就够你学一壶的了。
说到这里,其实总结来说,告诉大家的就是要考虑你的Offer中,哪个对个人的发展是最有利的。我提到的几个因素中,行业、职位、公司,这个需要综合考虑。在同样行业、同样职位中,选择公司就很重要了。比如,在互联网行业,都是研发的岗位,那么会有很多公司可以选择。个人的发展,跟公司的发展是密切相关的,你肯定要选择目前发展比较快的公司,这里机会更多,这与大小无关。另外,你要看下公司提供怎样的平台给你而不仅仅是让你觉得被重视、给你空间。对于咱们绝大部分同学来说,你们更加需要的还是一个帮助你成长的平台,而不是仅仅给你的是空间,让你折腾。
这个平台,应该会提供给你机会成长,而不是总是原地踏步做重复的事情;
这个平台,应该会有很多学习的机会给你,不仅仅是培训,还有在实战从学习的机会,还有牛人的指导;
这个平台,能够让你接触前沿的技术、已经做到或者有机会做到业内领先、能够有最大的挑战。
总结来说,同学们千万不要把地域和薪资放到最重要的部分,而是先挑选对你发展有利的公司,然后再比较地域和薪资。而说到如何去挑选对你发展有利的公司,那么主要是要有自己的目标以及对于可以选择公司的了解。通过师兄师姐、朋友同学、互联网,多去了解目标公司,最后做选择。同学们,对于你们大部分人来说,毕业后更加需要的是一个能够比较系统的帮助你成长的公司,3-5年后,你羽翼渐丰后,每个人会有不同的路和选择。但是刚毕业的时候,还是需要有个好的环境,让自己能够快速成长。刚毕业甚至没有毕业的时候,能够自己去翻江倒海的,不管去创业还是去独挡一面的,是很少数的人。所以,大部分同学,还是要去一个有好的平台和环境的公司。
最后的最后,我想给同学们说下我自己刚毕业的情况。
我02年毕业于浙江大学计算机科学与工程系,算是科班出身吧。我只是个小本科,到现在工作快9年了。在我当时毕业的时候,其实我最看重的是地域,我的兄弟们,在上海的很多。所以,我义无反顾的去了上海,其实我们那年工作很难找,很幸运的是我还是找到了上海的一个工作,记得当时我们学校BBS上,很多同学都说要去上海,哪怕过去是扫大街也要去。02年底我曾经在朋友的联系下,跟当时是阿里巴巴CTO的吴炯先生,有过一次面对面的沟通,他跟我说了很多我现在说给应届同学的话。同样因为地域的关系,我没有选择阿里巴巴。那个时候我是一个有些自负又没有自己内心目标的人,我觉得我做什么都行的(其实那个时候自己接触的面广,但是其实都不深),我也觉得努力就能成功。我太看重自己以及一些主观上的东西,忽视了环境、公司发展等因素。从02年,辗转5年,经历了上海、成都、重庆,经历了打工和创业,我在07年6月和幸运的并且稀里糊涂的加入淘宝。这四年下来我感觉自己成长了很多,真的是工作以来提升最快的阶段。跟很多牛人在一起工作,很舒服、很轻松,而且进步很快。在这里,你可能不一定能够独领风骚,但是,你一定会进步迅速。在这里,也提供了很多的机会,就看你自己能不能把握。在这里,经历了很多很多,学到了很多很多,不论是我的领导,我的同事,都让我学到了很多,给了我很大帮助。这里,就是这样一个简单、快乐的团队和氛围。不要犹豫,加入我们吧。
posted @
2011-05-23 12:39 曾宪杰_顶天 阅读(3562) |
评论 (9) |
编辑 收藏
2011淘宝春季校招已经到了尾声了,五一前,面试都会结束。我参加了广州站的实习生面试。这两天跟不少同学做了交流沟通。这里想谈一下我的感受,以及想给加入淘宝的同学们一些建议。这次没有通过的同学也不要气馁,我们秋季校园招聘见。
这两天见了不少同学,我能感受到同学们的热情,以及对于技术的热爱。也很感谢同学们对于淘宝的关注。下面我先来说说我在广州两天面试下来的感受。
程序设计的基础还需要加强:
被我复试的同学,几乎都被我问到了如何自己去实现一个字符串中查找字串的问题。在第二天,每个同学过来,第一件事情就是在我的笔记本上,把这个代码给我写出来。那么结果如何呢?
几乎所有的同学都知道要完成功能,最简单的做法应该怎么做。但是,只有一位硕士同学,写出来的代码,基本上上是实现了这个功能。其他的要么写不出来,要么是错的。但是,就这么个题目,我没有看到一个让我非常满意的答案。我这里说的满意不是说要你写出KMP的实现,只是希望能够看到功能正确、异常情况考虑清楚、常规的优化要有。
这是一个侧面,反应出来的问题是基本功的问题。有些同学会觉得这个可能不重要,我知道思想,写程序么,我写多了,熟练了就好。我这里想说的是,写程序是基础,如果你说你很热爱技术、很喜欢写程序,而很基础的都写不好,如果你是面试官,你会怎么想呢?也许给你些时间,你真的就能够写出很好的程序了,但是这个貌似是也许。如果你在面试的时候,就已经可以展现出这些,你不是会比别人出色么?反过来,如果别人都可以做到,你不行,你不是很危险么?
那么我出的这个题目需要考虑什么呢:
字符串和要查找的字串是不是null要考虑吧?
如果字符串比要查找的字串短,可以直接返回结果吧?
循环遍历的时候,字符串的起点,应该要保证从起点到结束,比字串长把?
继续说这个字符串查找的例子。有些同学,在我问到有没有优化的办法的时候,提到了KMP,但是我具体怎么实现,记不起来了。OK,我也不能马上写出来KMP的实现。但是我继续问,KMP比这个直接循环比较的原始方式有改进,那么KMP是解决了什么问题?或者说是在什么问题上解决的更好。然后有很多同学就不知道了。给我的感觉是,因为同学记不得KMP的具体实现,所以也不知道去解决了什么问题。我觉得这个逻辑是刚好反过来了。我们应该先去理解KMP解决了什么问题,或者说去看看最初的实现,有什么地方可以改善、可以提高。这个是根本的东西,如果你理解了,即便不知道KMP,你也有机会搞一个KMP出来,即便你不记得KMP的具体实现,那又有什么关系呢?
在回杭州的路上,我想到了一句话,你是用文科的方式学习知识还是理科的方式学习知识。我是这么看的,如果更多的是去记忆,就是文科的方式学习,我们需要的是去理解,是去看到背后的、纸面反面的东西。这个是根本。我听过一个笑话,两个学习文科的同学,互相提问,A问B,历史书的X页的Y行上说:哪一年,巴黎人民在什么教堂举行了起义,B记得年份,但是死活想不起来是什么教堂。A告诉B,答案是“一个”教堂。我撅翻。
那我们要搞开发,千万不要用这样的方式,我知道没有同学会这么学习,但是如果你不深入去理解、了解所以然,那么结果上也差不多。
前面说了基础,下面我想说说逻辑思维。
逻辑思维,我觉得主要指的是去分析、解决问题的能力,去灵活运用自己知识的能力。这个部分,我觉得扎实的基础是很关键和必要的,而对知识的深入理解更为重要。我举一个例子,说到深度优先搜索、广度优先搜索,可能绝大部分的人都知道。但是如果出题目是一个场景,可能很多同学就不知道该怎么整了。比如,我问了一个农夫带着狼、羊、早过河的问题,这个是一个非常之经典的问题,中学的信息学奥赛会用到的题目。可是有很多同学,就不知所措了。这就是一个分析和运用知识的能力。在我们实际工作中,遇到的问题都是需要我们去分析然后找方案的,不会说直接告诉你,我们需要用广度优先搜索去干个嘛、用深度优先干个嘛等等。同学们都很年轻,学习计算机的时间相对有限,作为面试官,我们不期望你什么问题都能很好的解决,但是一些基本的,大学学过的知识,你需要能够很好的运用,另外,也会看你的思路。此外,对面试官的问题的准确快速理解,也会反映你的能力。
再说说对技术的热爱。
我上篇博客提到,我们喜欢热爱技术的人,这次我遇到的同学,除了两个女孩子外,好像都告诉我很热爱技术。在这里,我不是不相信你们的话,只是我想让同学们明白,热爱技术不是说说的,你需要来证明给面试官。我举个例子,我很热爱尤文图斯(意大利的足球俱乐部)。我只是这么一说,没用。有两个办法可以证明我很热爱,一个是我周围的朋友,尤其是跟我十多年一起的朋友可以证明,但是这个办法不灵光,要用这个办法,除非是你相信并认识我的朋友才行;另外一个办法是,我可以告诉你尤文图斯的很多历史、很多故事,告诉你我从94年开始看尤文图斯的比赛一直到现在的很多点点滴滴,那么第二个办法就相对靠谱。那么回到同学们的面试,如果你很热爱技术,你的朋友、同学知道,他们可以证明,但是我不认识他们,这条路不行。那么就是第二个方法,你热爱技术,热爱某个方面的,那么你一定是会看很多这方面的文章、书等,你的了解就会比别人深入。你可以讲你的收获等等,但是如果你很热爱某个方面的技术,结果还没有大多数人了解的多,那我又撅翻了。
学习能力。这个方面,更多的需要你自己去展示自己之前的一些经历。当然也会把这个部分和对于分析和解决问题放在一起去考察。我觉得学习可以分三个层次:
了解(基本会用)
熟练、经验丰富(用的多,遇到不少问题,知道一些别人不知道的细节的点)
理解(知道背后的原理、实现等)
同学们时间有限,我建议你还是能够在一两个部分很深入,而不是搞了很多,但都是很浅或者就是知道有那么个东西,这样不好。你能够把一两个部分搞的很深入,那么,我也相信你在类似的其他方面,给你时间,你也可以搞的很深入;但是如果你都是知道一点知道一点,我就不确定你到底能够钻多深了。
举个例子,有同学说对并发、JVM感兴趣。问了一些问题,发现概念性的回答的还不错,但是深入一下,问为什么要这样,这样的好处坏处,他就不知道了,告诉我书上这么说的,我说那你自己觉得呢?告诉我说,没有想过。这样的学习方式,我觉得就是可以提高和改善的。
再说说项目经验。
项目经验对于你来说,未必多了就好。主要是精。
对于本科生同学,尤其这次招聘的都是大三才读了一个学期的同学,你不用去苛求自己去做多少项目,也许你还没有这样的机会,你可以专注于学校的课程实践(我们当年叫做大作业),以及根据你自己的兴趣学习到的知识的一些运用。比如当年我对于基于Socket通信很感兴趣,就自己去做了一个类似Mud的东西,然后去改进完善。对于硕士同学,你们想对是有不少时间的,应该有更多的实战的经验,但是我很建议的是,我更在乎你在项目中的贡献,你的深度,你的提升。我很建议大家不要去重复的做很多差不多的事情,对你自己没很大好处。我上次也提到了,这就是叫做工作五年,一年经验。如果真的是老板逼着去一直重复,我也希望你能够在第二次、第三次的过程中,做出新意来。
上面提到的这些方面,都是非常基础的。如果这些大家不能够做好的话,不管去淘宝还是类似的公司,我想面试都是会挂掉。而看到这个部分,对于我写的内容很不屑的觉得太简单并且自己已经做到非常好的同学,我给你一个建议,发邮件给我吧。huali@taobao.com,我们可以去谈些更深入的问题。当然也可以在新浪微博或者Twitter上加我。我的新浪微博是@曾宪杰_华黎,twitter是@vanadies10。前面主要是针对比较大众的同学的一些感受、建议。那些在学校期间特别突出优秀的同学,直接联系我就是了。我会给你更有挑战、更有深度的东西。
我们这次春季实习生招聘,已经尾声了,没有通过的同学,如果你对淘宝有兴趣,也不要气馁,后面还有机会,可以等到秋季的应届生招聘。那么剩下还有差不多半年的时间,我建议你看看自己还有哪些地方是自己的短板的,抓紧时间去提升一下。从基础做起,不要好高骛远。记得我个人历史上写过最好的一篇作文是《立鸿鹄之志,从小事做起》,这个是解读《一屋不扫,何以平天下》的。同学们一定都有远大的志向,但是要从小事做起、从基础做起,脚踏实地,努力前行。对于离毕业还有比较长时间的同学,你们很幸运,还有更多的时间去提高、完善自己,但是千万不要挥霍光阴。加油!
posted @
2011-04-28 09:34 曾宪杰_顶天 阅读(4694) |
评论 (26) |
编辑 收藏
本文下面谈到的招聘求职,只针对研发工程师。不涉及其他的岗位。
看到很多人想进淘宝,而我们也很需要优秀的工程师和技术专家。这几年也忙忙碌碌的面试了很多人,也从自己手上毙了很多人,我很希望能有很多优秀的人才加入我们。这里想说说自己在招聘过程中的感受,也希望给想加入淘宝的同学一些建议。
首先先来说说对于实习生和应届生招聘的我的看法和建议。
先说说我们对实习生和应届生的要求。我们需要的实习生和应届生,简单来说,有下面几点:
1 具备一定程序开发基础
2 逻辑思维能力比较强
3 学习能力好
4 热爱技术
5 自我驱动
因此,参加过我们2011春季实习生的招聘笔试的同学,或者在网上看到我们笔试题目的同学,会发现我们考察的都是最基础的东西。我们通过笔试,希望对1,2 两点去做一个考察。而后续的面试,会更多的关注3,4,5。当然,也会有问题跟1,2相关的问题。
那么,对同学来说,如果要想进入淘宝,需要怎么做呢?我想这个可能也是很多同学关心的。
其实答案是没有捷径。少走弯路就是了。
在学校期间,如果不翘课,其实业余时间也不是那么的多的,我是建议大家把时间能够用在刀刃上。
首先要能够打好基础,数据结构、算法这些一定要掌握好,一些科班的专业课程,尤其数据库、操作系统、体系结构、网络等也要去好好学习。
然后,多写些程序,熟能生巧。不要面试时让写段代码的时候,就茫然了。
接着,能够熟练的运用所学的知识编程解决具体问题。千万不要只是记住了很多的概念、名词或者书上的话而已,要能够去运用。并且也要能够深入的去学习,要知其然并且知其所以然。
最后,关注下业界的一些技术动向,多了解了解没啥坏处(这个部分对实习生和应届生的要求不高)。
另外一块儿是和实习相关的,一般来说,实习总是好事,多些项目经验也好的,但是千万注意的是,你要能从实习、项目中是否持续的学习到新的知识,得到成长了,如果只是一味的去重复,那多个项目经验基本就合并同类项了。也就是我们常说的,工作了五年,只有一年的工作经验。
那么怎么做呢?
大学生活要努力,也会很辛苦(我个人是觉得大学是比高中辛苦很多的,高中几乎天天都踢球、玩游戏啥的),不管你是在课堂上好好学习还是像我这样为了学习去翘课,都没关系,关键是要能够学好知识并且动手练习,书本上的习题,其实都是有针对性的,可以去做一下,编程方面,更是需要勤加练习,不管是课程实践、还是习题、或者是你自己想去做个什么东东,多动手。另外,就是在这个过程中要深入。我知道大学的时间有限,但是我相信你总是可以深入的去学习一块儿的知识。深入的理解了一个部分,比肤浅的了解三个部分更有价值。
此外,有些同学会关心和了解淘宝在用什么框架用什么系统等,其实这个我觉得不那么重要,更重要的还是你自己的基础、你个人的能力和潜力。
最后,我们关心一个人现在所具备的知识和经验,但是更关心的是一个人的潜力、学习能力和自我驱动方面的东西。所以,我的建议是同学们一定要把基础打好,深入学习,多写程序,能够总结自己的经验,一步一个坚实的脚印往前走。能够过段时间就回顾下自己的成长。
上面说了应届生和实习生的状况。下面想简单说下有2,3年工作经验的情况。有工作经验的同学,如果想进入淘宝,那么你除了能做到上面提到的之外,更加需要能够把程序写好,这个写好不是说功能对了就行了,而是真的写好,比如你的代码是不是已经最优化了,你对问题的考虑、异常的处理是不是全面了等等。另外,也需要你在项目、产品中能够有突出的表现,比如说你能够在完成功能的时候,深入的了解你使用的技术,能够在之前项目、产品的基础上有所改进和创新,能够有自己比较喜欢的领域并且有所深入等等。总之,在面对淘宝的面试官的时候,你需要用你过去经历让他知道你的学习能力、你对技术的深入、你自己在项目产品中的创新和改进等等。
对于非常资深的朋友,我没啥要说的,如果真要说,就是一句,加入我们吧,一起把淘宝做的更牛。
最后,广告一下,我们团队-淘宝Java中间件-也持续在招人,可以看下我们团队的博客 http://rdc.taobao.com/team/jm/,也可以把简历发送给我 huali@taobao.com
posted @
2011-04-16 19:33 曾宪杰_顶天 阅读(2258) |
评论 (3) |
编辑 收藏
这周一到周三三天,在北京。感谢团队的伏威同学的组织安排,到北京的多家业内的公司进行了交流,也在betacafe和北京的做了沟通。北京的交流的氛围确实很好,从交流中也感觉到淘宝在Java方面,确实做得还是比较多、比较深的。今后如果有机会,是能够跟大家再更多的交流,周二晚上的时间很有限。
这次拜访了飞信、豆瓣、谷歌、新浪微博、创新工场,也跟百度的朋友有所交流,也认识了新朋友,收获很多。今后还要多出去走走看看。
另外,也有一个广告,淘宝会在今年的7月份在杭州举办淘宝技术嘉年华,希望到时候有更多的业内朋友来参加。
posted @
2011-04-15 12:42 曾宪杰_顶天 阅读(570) |
评论 (0) |
编辑 收藏
摘要: 在ASM3.3.1中,提供了7个jar包,分别是
asm-3.3.1.jar
asm-commons-3.3.1.jar
asm-tree-3.3.1.jar
&...
阅读全文
posted @
2011-02-23 11:44 曾宪杰_顶天 阅读(15014) |
评论 (0) |
编辑 收藏