2012找工作面经分享

作者:njunewfish

 

最近看十大,看到很多关于公务员的讨论,有同学的迷惘和前辈的经验,甚是热闹。个人对这公务员方面不太了解,就来说说找IT工作的一些经验和教训,趁刚结束还记得,希望学弟学妹们看到能有点收获吧。

先说下lz的情况,cs小硕,本科GPA5/150,获过一些小奖,研究生酱油了,名次跟本科是中心对称,做过一些小项目…先后面试过美味书签,阿里,谷歌和网易游戏等,一阵摸爬滚打后从了阿里。如果算上暑期的实习面试,那还有微软,百度和脸书。

 

lz上大学之前对cs知之甚少,基本印象和大多数人理解的修电脑差不多。开始略感吃力,还好我蓝鲸大学偏重基础,依靠数学等底子没被实验课噼里啪啦敲完代码的大牛甩出几条街。这也告诉我们,开始落后不用太担心,亡羊补牢,犹未晚矣。再者要结合学科的特点,比如物理等基础学科要多做题,而像计算机就要多动手写代码调bug。这里建议本科同学在适当提高绩点的同时,多参加些竞赛,比如ACM/ICPC和数学建模,到找工作的时候会发现受用无穷。我不知道每天一把dota是否能成为大神,但每天切一道题(非水题)一定会成为”神”,事实上后者很难做到,其中一个原因是到后来你会发现已经没有不水的题了:),推荐网站有usaco, poj和topcoder。lz没参加过正式比赛,只有poj200题程度的弱菜已经能应付国内绝大部分公司了,貌似现在系里开始重视,这点要跟交大学学,他们有自己的OJ并且持续有作业发布。

 

假如在电脑面前的你已经虚度了本科,不要紧,还有研究生阶段可以把握,如果又像lz一样遇到好的导师能给学生自由发挥的空间,那找不到好工作就是你的不对了。但如果你连研究生都荒废了,好吧,最后我会传你”抱佛脚秘籍”。

 

从目前的情况来看,本科出国读硕的那帮人基本是活的最爽的,对于无心学术的同学来说,从个人成长来看这应该是best practise。对于像lz这样当年完全无出国意识,后知后觉的人来说还有个途径就是直接应聘国外公司。lz在4月份就试着面了两家dream company(G和FB)的暑期实习,在没有充分准备的情况下果然败北,产生的直接后果是FB一年内不能再面,G后来面full time考虑到之前的面试情况再次悲剧。所以面试什么的一定要做好充分准备并且考虑后果,不要心急。另一方面要练好口语,这样才不会出现遇到阿三互相听不懂对方的情况…这两家的面试形式相似,国外的都差不多,一般每一面都是45分钟两道题,先是简单的self introduction,然后就开始编码,phone interview在类似google docs的在线文档上写代码,on site就在白纸上写,对正确性的要求较高,不但算法要最优,而且细节也逃不过面试官的法眼,全局构思好再下手,多处涂改会减少印象分。算法基本是dp, 搜索,贪心和hash,trie,heap等数据结构,不会有图论和计算几何。G家经历了4面,2道系统设计(cache和信息流)和6道算法题(dp, bfs, 二分),最后因为某一轮表现地不好还是挂了…当然除了这两家,还有一些startup会在www.interviewstreet.com上联合举行codesprint,lz参加了一次,收到Rocketfuel和PocketGems两家小公司的talk invitation,无心恋战就没有面。其他像quora会在网站上公布challenges(http://www.quora.com/challenges),试着做了发给他们,收到回复说安排面试,但一直没有消息,貌似他们对学校比较看重(empolyee里很多standford, mit)。说了这些,大家不要觉得很难,lz就认识同学拿到offer的,只是我太菜了…其他如amazon,evernote,hulu也非常好,有兴趣的可以试试。

 

接着说下实习,如果能去dream company实习那最好不过了,因为会有内部转正的机会,概率会比校招大一些。如果不能,那看个人选择了,去startup辛苦点,更能学习技术,去大公司相对轻松,能了解公司积淀的文化和知识,简历好看点,但通常接触不到核心。lz在微软上海实习了一段时间,面试跟上面那些外企差不多,不过能说中文舒服多了:),外企朝9晚5的生活挺滋润。大多数公司还是看重实习的,比如在面阿里时就看见面试官在实习旁画了一个圈。当然这些的前提是你论文憋得差不多并且像lz一样遇到开明的导师。也有人利用暑假这两个月练习写代码准备开学后的正式校招,如果你有毅力加上善于巩固总结,拿到G家的offer也很有可能。

 

校招一般从9月中旬开始,一般都是笔试,技术面,hr面的流程,个别企业先hr面。基础知识(网络,数据库,算法,OS)准备好很重要,但不可避免的是很多公司的面试官会问他们工作领域相关的问题,比如美味书签问ios移动开发,阿里会偏分布式系统(hadoop)和数据库(sql, nosql),网易游戏问C++的原理,STL的知识,面试之前针对性地看些题目会大有裨益。美味书签lz是报着打怪升级的目的去的,最后拿到口头offer最后也没去,每次面试都能收获很多,无论是知识点还是心理方面。这也告诉我们找工作的事要早早准备,不然等自己到巅峰状态,招聘都结束了。另外面试官会看你是否真正喜欢自己将要从事的行业,问些vim,git等课本里没有的东西,更直接的是网易的hr面会问玩过哪些网易的游戏,由于lz已经被室友洗脑,认为游戏是靠浪费别人时间挣钱的行业,于是过了技术面就开始各种胡诌,最后也就没下文了。不过感觉网易游戏的题目难度比较大,对概率和算法的要求高。至于百度阿里,跟网上说的差不多,好玩的是阿里面到后面可能会让你当场玩一个puzzle游戏。腾讯今年招的少,基本没听说几个拿到offer。

 

除笔试外,谷歌4-5轮技术,阿里2轮技术(后一轮包含hr),百度2轮技术+1轮hr,网易3轮技术+1轮hr。没有群面,基本都是1对1。

 

lz亲身经历基本如上所述,下面推荐点资源,供平时积累和临时抱佛脚用

http://ruby-china.org/ ruby论坛,喜欢ruby的简洁

www.36kr.com 很多有意思的想法

 

matrix67.com/blog, http://exp618.com,http://www.52nlp.cn 数学,算法理论

http://coolshell.cn, ruanyifeng.com/blog,http://blog.jobbole.com 技术泛读

http://rdc.taobao.com/blog/cs/, http://stblog.baidu-tech.com/ 企业技术博客,实际问题

 

 

下面是面试题,实践觉得,现场想出来 < 看过+假装思考

http://blog.csdn.net/v_july_v

http://zhedahht.blog.163.com/

http://blog.csdn.net/fp_hzq/article

http://blog.acmicpc.info/

http://careercup.com/ 外企真题

 

 

OJ,其中leetcode题量难度适中,lz做完收获很大,交大的OJ也适合做

http://www.nocow.cn/index.php/USACO_Training

http://www.leetcode.com/onlinejudge

http://acm.sjtu.edu.cn/OnlineJudge

www.interviewstreet.com/challenges/ 题目质量高

 

 

书推荐三本 《算法导论》,《GOF设计模式》,《Linux内核源代码分析》是目前读的觉得最好的书,但还没理解透彻。

 

慢慢来,称霸华东五校,我蓝鲸大学就靠各位学弟学妹了,师兄只能帮你们到这了 :)

硬盘读写监测工具 Procmon

今天想抠QQ皮肤的图片,翻了几个常用的QQ文件夹没有找到,所以只能试着抓一下QQ文件的硬盘读写记录来看看。

从小众软件搜到了这个工具,不过现在改名叫Procmon了。

挺好用的,开始的读写记录会很多,加一些过滤器就可以了。具体参考这个教程

顺便说一下,QQ自定义皮肤的源文件在 C:\Users\你的用户名\Documents\Tencent Files\All Users\QQ\Misc\QQSkin 目录下。

推荐用thin部署RoR

折腾了好长时间,从ngnix+passenger到apache+passanger到thin,其间遇到问题无数,加上本来就不太熟悉linux权限,折腾得心力交瘁。

相比passenger,thin部署非常简单,而且和开发时用的WebBrick很像,容易上手。

不过thin在rvm环境下绑定80端口和设置开机启动有些问题。

一些参考教程:

[1] CentOS – thin web server for Ruby(centos下安装thin,运行rails)

[2] thin 开机自启动

[3] how to start thin in default port

解决rubygems速度慢的Tips

用RVM来安装RoR的时候,rubygems的安装文件是从官方下载的,由于某些众所周知的原因,从这个地址下载很慢很慢很慢。

好消息是淘宝建立一个rubygems的国内镜像,但是没有找到下载rubygems安装文件的地址。

折腾了下发现只需要输入:

$ gem sources –remove http://rubygems.org/
$ gem sources -a http://ruby.taobao.org/
$ gem sources -l
*** CURRENT SOURCES ***

http://ruby.taobao.org

# 请确保只有 ruby.taobao.org

再执行安装就可以了,嗖嗖的。

 

 

[1] linux下rvm安装ruby以及rubygems的过程分享

CentOS+Ngnix+Passenger+RoR配置时出现403forbidden的一种可能原因

今天给自己的RoR配置服务器,Follow的是这个教程,介绍得都蛮好的,除了某些命令需要变一下(比如ruby script/server要换成rails server之类的)。

运行之后访问地址一直显示是403 Forbidden。搜索了一下可能的原因是:

1. nignx.conf 文件里没有写 passenger_enabled on; 或者位置不对。

2. nignx.conf文件里 root 的位置不对。

3. 对应文件目录的权限不够,最好先将权限改成777试试。

以上试了之后都没有成功,发现nignx.conf的第一行有着被注释的”#user   nobody”,联想到权限的原因,试着改成了”user  root”,果然就可以了。

发现网上没有类似的解决方法,所以记录下来。

 

另:上面的理解还是有偏差,参考这篇教程一步步做比较好。

 

[1] stackoverflow

[2] nginx forbidden 403:多进程下的子程序的用户和用户组指定

DD-WRT路由VPN PPTP CLIENT连接不上的解决方法

DD-WRT是一种自制的路由器ROM,可以用来实现一些个性化比较强的功能,比如“穿墙”。具体可以看这里

今天测试的时候按步骤连接PPTP VPN的时候怎么连也连不上,我刷的是DD-WRT v24-sp2版的系统。如果你会Telnet到路由器查看文件系统的话,会发现是新版配置文件/tmp/pptpd_client/options.vpn的问题。

可以用来连接的options.vpn文件如下:

defaultroute
lock
noauth
nodetach
refuse-eap
lcp-echo-failure 3
lcp-echo-interval 2
persist
usepeerdns
idle 0
ip-up-script /tmp/pptpd_client/ip-up
ip-down-script /tmp/pptpd_client/ip-down
ipparam kelokepptpd
mppe required,no40,no56,stateless
mtu 1450
mru 1450
name 用户名
password 密码

如果你的路由器支持jffs的话,可以看[2]里面的回答,如果不支持的话,可以将options.vpn文件传到网上,然后在开机命令里写上:

cd /tmp/pptpd_client/;
rm options.vpn
wget 自己的options.vpn的网址
sh vpn go

至于之后怎么修改路由表,使某些网站走VPN完成穿墙功能,就不属于本文讨论的范畴,请自行搜索。并且本文假设你对DD-WRT有了一定了解后才会遇到这种问题,所以很多地方就不具体说明了。

 

 

[1] DD-WRT VPN PPTP拨入

[2] 开机以后autoddvpn不启动,手动启动以后pptp不拨号

[3] autoddvpn

奔跑着歌颂这样的行为

用了这么多年的Internet,已经养成了遇到问题第一时间去搜索的习惯。每次遇到了非常棘手的问题,发现竟然有人分享过解决的方法,都恨不得“奔跑着歌颂这样的行为[1]”。

有的时候自己好不容易解决了个问题,觉得让解决方法就这么悄悄溜走,也是件很可惜的事。

所以,拖了这么长时间,终于把这个站建起来了。我喜欢把事情分分清,那边是记录生活的地方,所以建了个新的站。

从现在起,我也试着创造一些价值,感受一下分享的快乐。

 

[1]  标题来自 http://www.v2ex.com/t/27942 .

分类目录

About