一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 12460|回复: 91
收起左侧

[找工就业] 说说我转专业找码农工作的那些事儿

    [复制链接] |试试Instant~ |关注本帖
迷彩的瓜皮帽 发表于 2015-4-5 09:57:33 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
本来想很早起这篇帖子的。万万没想到天空中传来张辽的“没想到吧”四个大字,公司说跨专业申请h-1b会有问题,收回了offer

经历了最黑暗的两个月,开始继续面试刷题,年初拿到两个startupoffer,现在已经暂时入驻city了。当时觉得公司是嫌麻烦甚至无赖,目前小公司也在帮我申请签证,发现确实跨专业不止在背景和面试方面是个坎儿,将来办理h-1b也存在相当严重的问题,也就不再责备撤销offer的事情了。虽然每年机会愈发渺茫,仍然求祝福能中签

前言:
如果是科班cs的话,请直接右上角。由于本人专业和计算机毫不相关,master期间也没上过一门cs的课,有Java基础,但如果涉及到数据结构,算法,系统,可以说一窍不通。过去也向前辈们请教,但从未听说我这个专业转去做cs的,所以摸着黑,一心奔着南墙上撞。

1 前期准备
Projectsdatastructurealgorithmdatabase,和朋友交流
Projects:
这主要是应对HR。找了一段时间的工作以后,一次朋友交流,他告诉我,任何做过的一个project,要能准备出来一个人单口十分钟的量。虽然我到现在也没达到他的境界,但面到后来可以做到不用看resume,任何时间HR打过来,能把做过的东西清楚表达出来。其实现在工作的这个地方第一轮面试我就是一直在大街上边走边聊的,当时房东找人来家里装修,伴着电锯大锤,街上各种汽车鸣笛,bart行人来来往往的背景音度过了那轮面试。打电话中间各种sorry,so sorry, really sorry, pardon me, apologize把学过的英语里能当做抱歉的词说了个遍。
做过的项目,在真实的基础上,往大了吹。因为无论吹多大,咱们也吹不过老美老印,所以别太害羞。

2 简历
网上很多模板,各种“如何让你的简历脱颖而出”这类帖子太多了,就不过多陈述。找美国的同学或者导师修改一下语言词汇。把和Coding相关的词突出一下,比如:RESTService Design [Jersey, REST, Java]. 把括号里的词Bold
投简历我主要用Glassdoor,indeed和找的内推回应不多,据说dicemonster上也很多。每周至少投50份,招聘季的时候如果职位够多的话翻倍。别太在乎description上说的多少经验,即使要求1-3年经验又何妨,万一碰上了呢。

3 准备材料
Leetcode,简直是神器。有意思的是后来我还被邀请加入出题小组(我是有多爱刷题),不过好几个月没上leetcode,已经不是top10user了。
Cracking the coding interview当初snapchat面我的小哥儿还在视频里举了这本书说这个很推荐。
programming interviews exposedcmu朋友推荐给我的,当我看到这书封面的时候,感觉它将要把我引到人生巅峰的样子,很激动的立刻就买了。
head first java和同系列的Design pattern (大部分朋友没把这当做必备,但看看无妨,尤其在理解概念和design方面有帮助,值得单独花些时间)
数据结构,可以找点课件看看,重点还是做题时候怎么用。但面试时候不止一次问到非常细节的如何实现hashtable,我就完整的看了两遍hashtable的实现,到后来又问我"doyou know hashtable?" 我把记得的所有细节(比如initialcapacityloadfactor)collision怎么办,自己理解的什么时候用到,自己说了5分钟,然后就能感受到那边很开心满足的样子。
基础题,网上也可以找到什么Javainterview 100 questions类似的东西,大同小异。很多概念性东西,比如interfaceabstract区别,为什么不能final一个abstractclass,对于我这样基础的人来说,了解的同时也知道如何表达。
Programming Pearls是我当初不知道但后来发现所有人都在推荐,后悔没早点开始看,推荐程度仅次于以上材料。
其他:effectivejava, introduction to algorithm, 其实有太多经典书籍,非常值得研读,能大大提升codingB格。但是如果纯粹为了找工作面试,重点还是前面那些。

4 刷题
以下都是个人的经验,弯路走了不少,所以省去了些自己实践后觉得用途不大的步骤。
翻开那本书前我确实没听说过dfsbfs。所以Ctci每章讲解部分,每字每句每个提到的点都搞懂。然后开始看题,真的只是看看。
最开始,每题想想怎么做和思路,然后直接看答案文字分析。当然了,肯定会觉得一上来就看分析知道思路了没有千辛万苦想出来答案来的爽,但参看前言部分,不是不想思考,是真不知道该怎么想,给我再多时间让我用bitwise解出singlenumber也是做不到的啊!
看完一遍以后开始做题,每道先eclipse写,并加几个testcase,觉得差不多了看看答案。方法错了或者有什么漏掉的cornercase稍微记一下。
做完第一遍大概的感想就是:tmdqueue都不会用呢怎么又来了个priorityQueuereverselinked list怎么定义了这么tm多的node,我看googlemap用着挺简单的原来graph这么难这么难,recursive究竟在搞毛…?
那确实就是看完第一遍的感受。不过既然真心想探路,那就继续走走看。再做一遍。这一遍会觉得少了点痛苦,但上一段的那些疑问仍然存在。除了OODbitmanipulation,最后hard部分和system相关的章节,每题认真在eclipse上做,不断往书上答案的思路上靠。
第二遍完了其实大部分题还是一知半解,然后开始做leetcode,还是在eclipse上写,然后弄几个testcase,然后发现除了input= null 的情况是正确的其它全不对找答案,看思路。当时做题时候不懂AC是什么,遇到买股票的题还好,碰到regex那种题就有想死的心了。开始一道挨着一道做的,后来朋友才告诉我刷前几十道基本够用(但看网上面经,wordladder等经典题还是会见到的)。就这样从中等难度的题只能靠看答案,一道道做,慢慢发现其实自己好像明白什么是recursive了,直到碰到了scramblestring…
开始每天5道左右,夹杂着看看基础。第二天记得看看前一天做过的能通过的(抄的)解法,加深印象。这个时候,简单题可以秒杀了。中等题不看别人答案还是很艰难。
没办法,硬着头皮继续做吧。
结果,开窍了。
突然觉得爬楼都不累了,其实现在看来那个时候的感觉只是个错觉,离标准差得远。但至少看到大部分题都能瞬间有一些(网上答案的)思路,偶尔凭借自己的力量还能通过中等难度的oj了。不过难题仍然望而生却。
每天刷leetcode刷的不要不要的,都快忘了还有ctci那本书,再找出来翻开看了看前几章,突然觉得自己像是什么都会了(错觉,不服的话看看hard那章马上就回原型了)。不过这遍看ctci是我全程收获最大的一遍,因为基础的datastructure已经会用了,做了那么多leetcode有些思路也已经会了(背下来了)。再次静下来一字一句的看解法的分析,会发现一步步算法和复杂度的改进,都十分有条理。这遍书看完,觉得有点入门了,这次不是错觉。
再往后,我又回到了leetcode上,开始再用eclipse写一遍,但发现网上面试时候都是不带“自动联想”的,改用googledoc,写完以后粘贴到eclipse里,结果不堪入目通篇syntax括号方法引用错误,不过稍微练练很快就能克服了,习惯问题而已。
再做leetcode,不再注重回忆答案,多想想为什么用这个方法,在doc里简单敲几句话注明思路,这在今后面试帮助很大。每道题完整敲出来,oj跑,查错,循环,直到过为止。
做完这遍感觉长进不少,也发现过去网上那些答案即使能过oj,很多也都很不清晰,没有达到真正面试的要求。看了有的答案标题3lines solution用着库了定义好的method,好像很clean的样子,面试不挂就怪了。
中等难度的题不妨慢点,多想想优化,recursive变成iterativedfsbfs,尽量不用库里现有的函数,经常能看到有人写的blog,不同方法的分析,现在电脑里还存着几十个觉得po主很用心分析很到位的帖子,由衷感谢他们和地里人所有的分享。
刷题期间,别忘了不断看看基础,微博上关注了1个经常分享文章的主页,看到有文章分析各种List区别啊 java内存结构啊,碰到觉得有用的就看看,如果帖子是翻译过来的,坚决看英文的,其实更多的是熟悉该怎么能用英文表达。
最后一遍做题,手写。这边真的是长进很大,并且和电脑打完全不同的感觉,长进相当大。
算是为真正的onsite做准备了,cc+leetcode,中等难度的题能够很流畅写出来,但其实难题问题仍然很多,不过实在不懂的话也不再纠结,面试的话随缘分了。
边写边说。非常,非常,非常重要。
交流,开始阶段是我最大的问题,话多了影响写的速度,话少了觉得没有在和人交流,所以在开始的时候先和自己说说思路,然后写题,中间偶尔讲一两句这一步大概是干什么的。最开始叨咕的时候发现语无伦次,自己都听不下去,慢慢就会好了。这一遍做完,感觉像是开始提到那本书封面的人了。
把每一步做好,只要bar不那么高的公司,基本没问题。但如果目标只有flag的话,应该也不会把这帖子看到这儿。剩下的,碰到大家分享的面经,多思考一下,有些很经典的但是书里没有的,挖个帖子看看。曾经被问到treeserializationde-serialization,后悔没提前准备。
剩下的,看缘分了。

5 面试
后来觉得,除了大牛,找工作还挺看缘分的。不过仍然可以努力做一些我们能控制的了的。尤其在交流方面,都说面试是人家看愿不愿意和你一起工作,不会没关系,几句话能不能开窍。
A man can tell a lot by your handshake. 我没忽略过那些太多人提过的细节,比如firmhandshake,没有做到也许不会减分,但终归这样做错不了。其中一个offerbarraiser大叔面试结束有还真提到了"你的着装非常好"
大概说说interview时候看见题目后我的流程吧,平时练习的时候严格要求自己:
1) 有时候面试官直接给,如果只是给了个题目叙述,先确定Input,out
2) 举个例子和面试官讨论,澄清每个细节和条件。慢点说,如果明白题了,这个时候心里赶快想其它例子和大体步骤
3) Brute force经常一目了然,可以说出来,不用太费力解释,因为这明显不是人家要的,利用这个时间把哪里需要或可以优化想想,然后列出能想到的所有方法,不用想太多具体实现。不同方法间的tradeoff一定要尽可能的多列举,最后选出个你们一致认为(他比较满意的)的方法
4) 一起走一遍之前举的例子,心里赶快想用什么方法/算法
5 确定每一步需要用到什么算法和数据结构,我习惯简单在白板上写几个词,一方面让面试官明白,二是一会儿提醒自己
6) 写代码:尽量把问题分解成sub-problem,如果想让code尽可能的readable,这点很必要。举个最简单的例子,lc那道白蓝红(01 2sort的题,单独定义出个swap函数。代码有时会更短,sub-function比较简单的话可能面试官可能就不让写了,节约点时间。
7) Deal with corner cases:如果题没那么复杂的话,这一步可以放在前面。
8) 写完以后走1-2个例子,选个略复杂或者cornercase,上面提到的那题别举个sort[0,1,2]。这步切忌太久。前面步骤应该已经想的很清楚了,所以这一步只是顺带检查下变量,是应该">="还是">"这类的问题。
最后:交卷,等待审判。
每一步有快有慢,个人习惯12 4稍慢,但步骤慢不代表思维慢,是在心里构思其它步骤,尤其是为绝对的重头戏35争取时间。
见过的题,在最后lc手写刷题那遍努力做到bugfree,如果写完有bug那就总结一下错误,过段时间再写一遍。
交流。虽然大多数是我们在讲思路,但这个方法是不是他想要的,在说话中看面试官的反馈应该能得知,及时问,避免一路黑到底。如果用的算法他没听说过,换个别的可行的,否则最后他照个相再花些时间去网上查或和同事讨论?至少我觉得用个当场大家都明白的方法更稳妥。

6 口语
看到有人总是抱怨为什么第一轮完事就没消息了,开始我也不爽。后来录了个自我介绍,听了一下,差点聋了。
发音咬字什么的注意一下,其实不难,但也许面试官听着会舒服很多很多。另外,虽然我从没试过,但学校能够提供mockinterview的机会,应该帮助很大。
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
7 心态
尽最大的努力,做最坏的打算。
无论发生什么,被拒或是offermove on。经历一段时间面试以后要做到面试完就不再去想,放下电话直接准备下一个。
整个找工作过程下来,面了不少,开始时候hr那关过后基本没消息,之后慢慢更正自己说话方式,开场白,自我介绍,项目介绍,对公司的背景了解,包括一点behaviorquestion,并且不断刷题。到后来如果把h1b和与职位不match因素排除在外,第一轮hr和技术电面都能过。由于背景实在弱,外加上接了offer入职以后陆陆续续的面试就推掉了,最后只有4onsite(其中一个是skypeloop interview),幸运的拿到3offer(其中一个就是最早那个被放鸽子了)。命中率较高就当是对当初那段黑暗期的安慰了,总之,目前这个形势来看,刷题是咱们的必经之路,即使工作后才知道刷题学到的东西和工作可以说毫不相关。
觉得自己走的这条路虽然有些奇怪,但现在算是有个着落了。我相信很少有人和我一样第一遍看完ctci那书只有骂街心情。如果基础比我好很多,就努力往更高的目标努力。
有些经验也是在开始时候走了不少弯路后才意识到的,所以找一找志同道合的朋友偶尔交流一下很有必要,相互激励一下。“偶尔”真的就足够,因为刷题这事儿每次看到网上有人发帖说一起刷题,各种小群组织的很是生动活泼风生水起,感觉没必要。讨论(交换答案)半天不如自己闷头想清楚。对我来说,别人一天做20道也没法激励和改变我每天只能做5道的基础。
如果已经横下心来转专业做cs,别去听论坛里“就业形势不好”,“除cs和统计外根本找不到工作”这类谣言。一定记得:如果没找到工作,原因只有一个,不够努力。
感谢本版各位分享的面经,找工作期间帮助太大了。
感谢小圆。上次发帖被认识的小伙伴认出来了,真心感谢你们的帮助鼓励。
有什么可以帮助到各位的,欢迎留言或私信讨论。

. Waral 鍗氬鏈夋洿澶氭枃绔,
. From 1point 3acres bbs
补充内容 (2015-4-5 10:08):
http://www.1point3acres.com/bbs/thread-106824-1-1.html
之前发过的面经合集

评分

21

查看全部评分

本帖被以下淘专辑推荐:

 楼主| 迷彩的瓜皮帽 发表于 2015-5-1 10:45:28 | 显示全部楼层
donnice 发表于 2015-5-1 03:25
恭喜LZ有好结果

我想问问,申请H1B时如果有一个计算科学computational science相关的certificate (非De ...

不清楚computational science certificate,但上过那些课肯定很有帮助的。good luck!
回复 支持 1 反对 0

使用道具 举报

nibuxing 发表于 2015-4-5 10:01:22 | 显示全部楼层
终于等到你的经验帖了,好好看一下。
回复 支持 反对

使用道具 举报

真爱你的云 发表于 2015-4-5 10:09:28 | 显示全部楼层
感谢你的分享 看了一下 觉得我还处在你当时心酸的时期。。。
回复 支持 反对

使用道具 举报

 楼主| 迷彩的瓜皮帽 发表于 2015-4-5 10:10:14 | 显示全部楼层
nibuxing 发表于 2015-4-5 10:01
终于等到你的经验帖了,好好看一下。

之前又继续闷头找工作来着。希望能有帮助
回复 支持 反对

使用道具 举报

林微熙 发表于 2015-4-5 10:11:44 | 显示全部楼层
大牛啊
膜拜
回复 支持 反对

使用道具 举报

 楼主| 迷彩的瓜皮帽 发表于 2015-4-5 10:12:48 | 显示全部楼层
真爱你的云 发表于 2015-4-5 10:09
感谢你的分享 看了一下 觉得我还处在你当时心酸的时期。。。

要做好长期心酸的准备啊~
回复 支持 反对

使用道具 举报

nibuxing 发表于 2015-4-5 10:19:27 | 显示全部楼层
看完了,不容易楼主。offer被收回真的是天堂掉深渊的感觉,好在楼主还是有一个好结果。
我也是IEOR,基础和楼主差不多,深深体会到在拿面试和面试过程中的不平等和艰难,你说的准备材料中,LC四遍,CTCI看过两遍,java基础知识,head first java都过过。同时上了10来门公开课,学校上过算法,数据库,data mining,mapreduce,旁听了machine learning,web。programming pearl和design pattern既然楼主说不错的材料我也会认真看一下。
面了10来家公司尚无offer,也是一次次受打击,有时候觉得自己面得还蛮好,可结果不如人意,甚至开始想后路如果找不到工作回国了怎么办。“一定记得:如果没找到工作,原因只有一个,不够努力。”,这句话像给我打了鸡血一样,更努力,更努力,不能放弃。
有几个问题想问一下,第一个,楼主非CSEE,但我记得之前看你的面经帖也有相当多的SDE职位的面试,是不是楼主学校较好,是内推还是海投得来的。. 1point 3acres 璁哄潧
第二个,楼主说的hashtable已经非常熟练了,具体实现,包括你说的initialcapacity和loadfactor,能否具体细致地说说。
第三个,刷题很费时间,不刷就手生,LC你觉得有必要每天刷几道吗,重复劳动你觉得有没有意义。
第四个,面试的时候是否需要每道题都能答上来才能通过面试。
第五个,可否加一下联系方式,邮箱or微信。
谢谢!
回复 支持 反对

使用道具 举报

 楼主| 迷彩的瓜皮帽 发表于 2015-4-5 10:42:10 | 显示全部楼层
nibuxing 发表于 2015-4-5 10:19
看完了,不容易楼主。offer被收回真的是天堂掉深渊的感觉,好在楼主还是有一个好结果。.鐣欏璁哄潧-涓浜-涓夊垎鍦
我也是IEOR,基础 ...

上的课比我多太多了,像是data science方向的。我在校coding相关的什么都没学过。
1. 绝非名校,印象里内推换来的面试有3个,其中就有被撤销的那个
2. 也可以看看完整的代码。在eclipse里,按住Ctrl,左击,比如HashMap<Integer, Integer>
3. 我做的慢,所以很长一段时间每天都在做题,完全会了的就没必要重复
4. 基本是这样的。否则那么多面试的,别人答出来了,没有理由把机会留给答的不好的
回复 支持 反对

使用道具 举报

nibuxing 发表于 2015-4-5 10:53:52 | 显示全部楼层
迷彩的瓜皮帽 发表于 2015-4-5 10:42
上的课比我多太多了,像是data science方向的。我在校coding相关的什么都没学过。
1. 绝非名校,印象里 ...

我之前也有了解到有没有学过相关课程对H1B有点影响,加上觉得既然付了学费就应该选点有用的课,所以选了些CS的课(我们学校的IEOR真的叫水)。.1point3acres缃
的确偏data science方向,比如python和R我都用得还可以。但其实真的开始面试发现data scientist真的不简单,可能我面的还太少面的公司偏难,data scientist对统计和编程要求都很高,我又不是统计的又不是CS的,更不是PHD,毫无优势。但不知道data analyst这类工作如何,还没试手。
从楼主的帖子,包括刷LC的各种困惑,看的资料的相似度,可以看出咱们的经历非常相似,但楼主成功率挺高,可见实力已经相当不错了。. 鍥磋鎴戜滑@1point 3 acres
楼主觉得startup是不是更看重背景match不match,你面的startup都考些什么呢。
回复 支持 反对

使用道具 举报

shinichish 发表于 2015-4-5 11:35:51 | 显示全部楼层
nibuxing 发表于 2015-4-4 18:19
看完了,不容易楼主。offer被收回真的是天堂掉深渊的感觉,好在楼主还是有一个好结果。. Waral 鍗氬鏈夋洿澶氭枃绔,
我也是IEOR,基础 ...

爱心草,加油!!!
回复 支持 反对

使用道具 举报

 楼主| 迷彩的瓜皮帽 发表于 2015-4-5 11:37:05 | 显示全部楼层
nibuxing 发表于 2015-4-5 10:53
我之前也有了解到有没有学过相关课程对H1B有点影响,加上觉得既然付了学费就应该选点有用的课,所以选了 ...
.鐣欏璁哄潧-涓浜-涓夊垎鍦
小公司也考算法,不过相对更发散一些,可能会问一些他们现在在做的事情看怎么解决
回复 支持 反对

使用道具 举报

nibuxing 发表于 2015-4-5 11:42:28 | 显示全部楼层
迷彩的瓜皮帽 发表于 2015-4-5 11:37
小公司也考算法,不过相对更发散一些,可能会问一些他们现在在做的事情看怎么解决

对对对,很喜欢问他们做的事情怎么解决= =
回复 支持 反对

使用道具 举报

nibuxing 发表于 2015-4-5 11:43:19 | 显示全部楼层
shinichish 发表于 2015-4-5 11:35
爱心草,加油!!!

苦B地在做作业,一开三分地看到阿信同学的鼓励,相当感动...要更努力才行!!!我一定可以!!!
回复 支持 反对

使用道具 举报

shinichish 发表于 2015-4-5 12:45:27 | 显示全部楼层
nibuxing 发表于 2015-4-4 19:43
苦B地在做作业,一开三分地看到阿信同学的鼓励,相当感动...要更努力才行!!!我一定可以!!!

哈哈,我刚赶完今天的due,加油加油加油!BTW,爱心草,你是哪个学校的?
回复 支持 反对

使用道具 举报

yuxrose 发表于 2015-4-5 12:57:37 | 显示全部楼层
天!在这里碰到芥末小哥了。。。。
回复 支持 反对

使用道具 举报

nibuxing 发表于 2015-4-5 13:13:50 | 显示全部楼层
shinichish 发表于 2015-4-5 12:45
哈哈,我刚赶完今天的due,加油加油加油!BTW,爱心草,你是哪个学校的?

Northeastern的,你可以加我linkedin,就在我signature这里~
回复 支持 反对

使用道具 举报

 楼主| 迷彩的瓜皮帽 发表于 2015-4-5 13:21:04 | 显示全部楼层
yuxrose 发表于 2015-4-5 12:57-google 1point3acres
天!在这里碰到芥末小哥了。。。。

这居然都能被大牛看出来!
回复 支持 反对

使用道具 举报

shinichish 发表于 2015-4-5 14:01:38 | 显示全部楼层
nibuxing 发表于 2015-4-4 21:13
Northeastern的,你可以加我linkedin,就在我signature这里~

哦哦,那你认识边边吗?哈哈,我是USC的~
回复 支持 反对

使用道具 举报

anonym 发表于 2015-4-5 14:38:28 | 显示全部楼层
nibuxing 发表于 2015-4-4 21:19
看完了,不容易楼主。offer被收回真的是天堂掉深渊的感觉,好在楼主还是有一个好结果。
我也是IEOR,基础 ...

你这个努力程度绝对够了 有时候需要考虑下是否方法的问题
我们转专业的一般投简历的时候往往会仔细看description是不是match再决定投不投 我那个拿到面试最多的同学从来不管这些 看见一个就投 所以说这样还是有效果的。。。.鐣欏璁哄潧-涓浜-涓夊垎鍦
只是举个关于方法例子 你这个努力程度再多投一些妥妥的OFFER
回复 支持 反对

使用道具 举报

anonym 发表于 2015-4-5 14:42:09 | 显示全部楼层
同转专业 因为选过CS的课所以比楼主基础强些
毕业之后因为某些原因很是颓废了一段时间 惭愧惭愧 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
转专业办H1B是会有些问题 不过能办的也不少 这个不给就换一家 争取更好的
另外你说的收回offer的是Expedia吗 同学正在面 我正想投来着。。。
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-7 19:19

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表