EE转CS找工作的面经总结及心得

1. 报背景:

学校及专业:国内Top 10 本科EE(强电方向,无任何CS 背景),美国Top 30 硕士CS

履历: 已一个学期为单位做阐述,方便新入学的学生有个进度上的参考。只关注方法和面经可以直接跳过。

从2014年9 月来美国开始,才真正考虑转cs 这件事,并开始行动。

2014/09 - 2014/12 第一学期,基(JI)本(BEN)适(HUANG)应(FEI)美国生活,学习,学期末递了转专业申请,完成了从EE 转CS Degree 的转换。

2014/12- 2015/ 01 第一学期寒假,考下了驾照笔试和路考,为暑期在加州的实习做好的很切实际的准备。在udacity 的网站上,上了两门课,一门课JavaScript Basic, 学了最基础的web skills; 另外一门是Pitch Perfect 用swift 写了个iOS app。 因为简历上实在没有任何cs的内容,这些两个项目也算开启了cs 的门路。

2015/01 - 2015/05  第二学期,开始有了一定要找到湾区的实习的目标,当时skills 上真的很差,但是心里想着一定要找到实习,甚至把男朋友的微信名也改成了,带着实习回来(男票在加州)。接着看到学校有incubator 的项目,就是给在校生给start up 打工,于是关注了这件事 并去投了简历,基本上就是个小型career fair,但因为是start up,可能更加注重match 程度。 第一天人爆满,机会渺茫,所以导致很多人没有去第二天的项目。所以在第二天也成功拿到了有且仅有的offer,就是归功于寒假里关于ios swift 的那个project. 整个一个学期,修了三门cs核心课,做着part time internship,还要找暑期实习 ,现在想想也是难。 跟现在的地里的学生比起来,当时大公司的实习投的真是太少了,想想是因为对自己算法能力的不自信?只有获得过facebook 的两轮电面。最后挂了。匆忙的找到了个湾区的start up 的实习机会。

2015/05 - 2015/ 08  暑期实习,每天开车上下班。确实能融入到美国工作环境中,每天能知道很多新鲜的词汇,不管是生活上,还是技术上,也能提高口语和听力。 由于想提前毕业,暑期修了一门算法的网课,暑假除了实习 还有一个任务就是写作业加考期中期末考试。但是在start up 的实习,弊端也是明显的,第一当然是工资少,第二 ,没有一个系统,专业的senior,mentor 带着你,基本跟着公司的workflow 完成,所以对于代码的整洁及完成的效率程度自认为肯定不如在大公司。当然也是没有办法的选择。patpat

2015/ 09 - 2015/12  第二年的秋季学期, 暑期结束后回了国,用实习挣得工资给爸妈一人买了个iphone 6s, 有木有很傲娇啊。 。。跑题啊,回来就面对着找全职的压力,及最后一个学期选课的压力。

此时大家问,刷题刷的怎么样了?。。。我会说,啥是刷题??

(这也是我一直的教训,看我下文的面试失败的经验就会知道,原因就是算法不过关,希望入学的新生,可以从得到录取开始就应该着手准备)

没错,我是从9 月6号回到美国才真正开始刷题,当然3月份在面facebook intern的时候做过一些,但当时都是新鲜事,也就会忘记。  然后就开始刷题,面试,考试,提前毕业,搬家。关于刷题及面试情况请看下文。 

综上,简历上积累了两个关于ios 的start up 实习,加自己课上及自己的关于app 和web 的几个project,勉强能把简历填满。


2.  面试流程总结:

1. 投简历的途径:

对几个流行的方法的投简历/面试回报率做个统计:

Career Fair:50% 

在这里强烈建议参加一些牛校的career fair,尤其是cs 牛校,得到面试的机会大大提高

内推:80%

在此感谢好多好多帮我内推的师兄师姐们。

网投:20%

每天的垃圾时间就用来做网投

Recruiter 发Inmail:30 %

这个分人,有的理你,有的官方回复,有的不理。总之多尝试是对的。

ziprecruiter,indeed等第三方网站:150% * 0 会收到好多好多contrator 的职位,天天收各种三哥三姐的骚扰电话。

hired: 150% 在这里推荐一下这个网站,因为你不需要投简历,只需要放一个个人主页,职位会来找你。我的intern 就在这个上找到的,最后hired 还给你邮各种大礼包,什么红酒啊,笔记本啥的。

全职的优惠更多吧。

贴链接:https://hired.com

2. 电面: 

Hr: 其实hr 没有什么经验可以说,随便说,就当是联系听力与口语,值得注意一下,如果hr 跟你约的时间长度超过或等于30min ,很有可能包括技术问题,可以提前看看面经,或者准备一个电脑在旁边。(你懂的)

我经历过的hr 考技术的公司有: yelp,pandora,coursehero

hiring manager 基本流程:自我介绍+他/她自我介绍+职位介绍+做题(or not)+ 问他问题

这里重要的就是一定表现出对贵team ,贵公司的兴趣程度及了解产品。简历要帖本公司要求的职位,不要别人家招front end 你一个劲跟他们说ios 经历。换句话就是投其所好。

engineer 电面:自我介绍+他/她自我介绍+职位介绍+做题+ 问他问题

如果hm面试是预热的话,这一关就是妥妥的考验你硬本事了,coding 是最主要的。然后你的code 还要被复制到hm 去看,所以保持代码的整洁及完善都很重要。然后就是对hm 那一关说过的话,也可以在这一关说,你要知道在他们那里,这两个电面完全是独立的。

补充一下两点:

1. 自我介绍:

地里有如何做自我介绍的模板,简单来说可以分三点,让对方感觉到你不是一口气找着搞在念,而是有逻辑 有头脑 分1,2,3 点来说

1) 基本背景,学校,专业毕业年份,以及。。。等personality。

2) 实习及project 经历,从而培养了哪些技能。

3) 贵公司一直是我梦寐以求的dream,最好也可以讲点故事,如何知道的公司,希望在贵公司得到一个发挥自己一技之长的工作等等。

2. 关于最后向面试官问问题环节,我基本问以下几个问题,是在网上或同学那知道的: 

1) 用啥技术 能跟我说说嘛? 这时候你别在人家说的时候一点response 也没有,可以换位思考以下,当你滔滔不绝说你擅长领域的时候,对方啥话也没有,是不是很扫兴,至少来个cool,excerlent。 最好能在技术上有个交流。如果没有就慎问。

2)对这个职位,需要什么样的人才?As an Engineer(manager), in your opinion, what are the personalities of engineers who are excelling in this position? 这个基本是个不会出错的问题,一般问完这种问题,别人基本会想一下,他们会说it is a good question.

3. onsite 面试:穿戴整齐,化好淡妆,提前30min 到达公司,check in 喝咖啡 say hello 等等。 跟每一个人开始一个个交流。一般onsite 前两个人比较紧张,后面就不紧张了,但是要打起精神,很多人的问题其实有重复,所以前两关被问到不会的问题,中间一定要查好,知道。不要在一个问题上犯好几次错误。

4. Follow Up Email:我的习惯就是每面完一个试,都要给安排面试hr 和面试官发email 作为基本的礼仪,有的interviewer 没有邮箱,你可以在linkedin 上发inmail。 email sample 可以看这个链接。

http://oppin.co/best-of/how-to-email-recruiters-sample/

3. 面过的公司及面经:

1. Amplitude: Reverse Linked List Follow up, 判断是否有cycle; Two Sum 变型题

2. yelp: iOS 内容: frame and size difference, Group Anagram

3. Health Tap onsite: find the closest node in the binary tree; IOS high-level questions: weak, retain, strong, NSAlert, AutoLayout 表现逊毙了

4. robin hood: iOS Skype interview for progress view

5.tile: some CS fundamental knowledge 不靠谱啊,别投

6.binatechnology: no technique 也不靠谱啊,别投

7. A9:climbing stairs, word break2

8. Spunk front end role: hiring manager 电话主要讲简历,而且,问了我知道slunk 是干嘛的吗?我竟然回答了不清楚!!!关于js 的职位,我也觉得自己的并不是很match ,也就没有回音了。

9. apple safari:一面:itoa 二面: group anagram 及iOS high-level question: 1. arc, 2,mm in OC, 3.GCD dispatch 这个当时一着急,没回答好,估计挂在这了,唉 一度给了我最大的动力,期待与紧张不安的两次面试。

10. apple performance:一段拿C 写的roman to integer 的代码,要你找出四个运行error,c 都忘光了。接着让我写个方程,1 和0 inverter follow up: don’t use if or while, 其实就是用moduler

11. ixl learning: return the first duplicate element.

12. Pandora:HR Screening: 一堆iOS high-level question  记得有一道没有答出来:where is the version number is stored:config/environment.rb,config/application.rb,config/initializers/version.rb电话面试:find the first duplicate element in the array force me to use c language!!!

13. Nutanix: map two arrays and string. Follow up: if the length of two arrays is not identical.

14. Antra: oop question 是个类似icc 的公司啊

15. apple maps:iOS debugging tools:https://developer.apple.com/support/debugging/

how to debug other’s code

16. apple test: 主要问了itoa 这道题的思路,如果遇到maxint 和min int 怎么处理

17. apple power:construct a tree with node equals to 两个树的各个node 之差

17. apple watch 一轮电面

问了好多iOS 内容,setter, getter,mvc的好处,process 和thread 差别,

coding :Fibonacci with and without recursion

把一个list 里各个数及其occurrence 拿dictionary 的形式print 出来

18. Facebook: 分别是merge two arrays 和vertical level order traversal

19. uber: NSNotification 

20 Pocket gem:Strstr, K top; Sort color , in order successor; a stream data find the number's occurrence more than once.

21. Apple iAd 组:介绍简历;问有没有c++ 和objective C 混编?  唉 我竟然第一次听说,po 个链接先。http://www.cocoachina.com/bbs/read.php?tid-9111-fpage-3.html; BEST time to buy and sell stock, return the max profit value index in array; Three Sum

22. Quantcast 电面及onsite:帖链接

23. Amazon EC2 Group电面及onsite:没经过传统的电面或oa,hm  在linkeidn上问对amazon 感不感兴趣,就随便发了个two sum 的test,找出代码的错误,然后就有了onsite。 (懵逼脸)

1) container service 是干嘛的,如果一个server down 了,怎么办,distribute system 的内容, 不同的query 如何增加速度,方法是parallel

2) 印度manager:db project, valid parenthesis

3) word ladder II

4) merge interval 类似题

24. CourseHero:跟这个一样帖链接,已经都做到bug free 了还是挂了。

25. IxL learning : 地里的电面面经一样,接着收到了oa, 然后就没有然后了!!

26. Apple iCloud Team, software QA Engineer : 一面: 问了一些qa experience, 做了两道题 分别是reverse string 还有是spryle matrix. 二面: 问了好多ios 内容,具体都cover 在我的那份总结了,做了两道题,第一题,factoril function 的实现,同事要用hash table。 第二题:是给定一个tree, 输入一个level 上的一个值,能返回出同level 的其他值。

27. ASML: LinkedIn 上主动联系, 电面,问了一堆c++, ds, os 内容,我的cs fundamental questions 里基本cover 这些内容, 当机通知onsite。 onsite: 第一轮,multiply matrix, 给一堆pair(说是xml 文件)<a><b></a>, 给parse 成一个树,要求定义Node class。 quick sort 的实现方法。 第二轮: 还是一堆c++, 一堆design pattern 题,问我知道哪些design pattern(在下只知道mvc, sineleton), 做了一道valid paranththes。 第三轮: 一堆cs 问题,还是围绕design pattern 的多,设计各种class。 第四轮: reverse a string 的各种方法。各种方法。各种方法。 第四轮:记不清了,反正各种virtual function 是啥啊 ,polimorphisom 是啥啊。  总结就是回家 怒读 大话设计模式 和python 的ood了。

28. hello: 一家做床头senser 的公司,在sf, 产品很有意思,面的ios 内容,具体还是最基本的ios 内容,在总结的资料里。见4 学习方法。 

4. 学习方法:

1. 算法学习:

这方面的学习,我真的是慢慢自己悟出来的,九章的课程,及下文中分享的jikai 的视频,帮助很大,无非是各个数据结构的分类学习,以及在leetcode 题型中分类学习。懂得给自己做出模板库 ,如果不会,自己学会思考。https://www.youtube.com/channel/UCBedpxcU3mTJ-_PrKAP4vEg

2. iOS 学习:

进ios 这个坑,真的是机缘巧合,当初随便学了个swift,就得到了两个实习都是跟ios 有关,后来收到了好多apple 各类team 的面试,这应该就是传说中的吸引力法则吧。扯多了。

最开始是在Udacity 学习swift,当时swift 还没有这么火,oc 还是主流。后再实习必须用oc,就在lynda 上学习了objective C Essential traning, 和ios 课程。

上完觉得其实有的地方,需要再系统的进行学习,于是上了著名的stanford cs193p,这个课程不建议初学者上,等有了基本语法和ios 基本概念之后再学习会比较好。

如果以上都效率很高的学习了话,我相信ios 算是已经入门了,接着就是准备面试阶段。

ios 面试跟普通的面试还是有差别。普通面试顶多就是做算法题,很多人问ios 面试怎么准备?难道用oC 写算法题吗?以下介绍我遇到的ios 面试的基本流程

1) 每次都会问你一些ios 基本的high level question,这些题其实重复率很高,不理解也得背下来。我把我遇到的以及我总结的贴在文后了,这些题应该能cover 80% 以上的ios 问题。

2) coding 部分。分以下几类。

0)  正常的算法题,不限语言解答,如yelp

1) 我面过两次uber 的ios team,apple 的一个team coding 问题: NSNotification 就是对方给你个模块框架,让你写block 实现NSNotification. 具体参看这个教程:

https://mikeash.com/pyblog/friday-qa-2011-07-08-lets-build-nsnotificationcenter.html

2) 还有一部分公司,包括苹果的一个team会让你用obc /swift写算法题,这个其实比较坑,我们很少这么做,对你能力的考察也不是很全面,但是这点我的建议是练习用swift 写简单的算法题,什么叫简单的就是leadcode 的easy,为啥用swift,因为leetcode 支持swift啊。参考https://github.com/soapyigu/LeetCode_Swift

3)coding assignment: 给你几个小时,几天,写出一个app。 这个相对比较容易。

4) skype 面试:连接xcode,他让你干啥你就干啥,这种面试只有遇到过一次,公司叫robinhood。而且不能用storyboard。所以在平时也要学着不用storyboard 写代码。

这里有个小tips: 面试前,可以发邮件问一下hr,关于coding 部分,会限制我的语言吗?也就是most comfortable languages 还是用oc/ swift.  hr 一般都会告诉你,就算她不知道也会跟面试人问一下再告诉你。 如果是前者,你就可以开心的练习算法了,如果是后者 就是1) 和2) 逃不了。

3. 心态学习:

1. 心心念念,必有回响。 当时刚入学的时候,我们EE 专业的advisor 就对大家说,找实习要比找全职难多了,不好找。 导致我们很多同学在第一步基本放弃了找实习这件事。 其实这件事就是怎么要求自己怎么来。所以不管来美国读书的转不转cs 的同学,找实习这件事不能放弃,一定要找实习,对你全职得到面试的机会会增加好多。

2. 别人找到了给予真心祝福,因为同样的能量会反馈给你。对于毕业了再找工作的同学,不要管别人(亲戚,朋友啊,婆婆妈妈什么的)怎么想。不解释

3. 吸引力法则:当你把整个状态调整到自己想要的最好的状态,才能吸引你想要的频率。把每天刷题,面试想成是你的工作部分,想像不久后的那个充满干劲,效率满满的在dream office 工作的程序员每天的生活状态,这样,你就不会被眼前的面试失利,刷题这些痛苦的内容所厌烦,同时也会干劲十足,同频率的offer 也就到来了。

4. 每次面完记得总结,这个老生常谈的问题,有时候就是失败的逃避,或是懒惰,从而导致在同一个地方摔倒过三次。

5. 该attend 的时候就attend, 该出现的地方就要出现,别给了你去office 面试的机会,你还选择电面,原因是可以准备的更充分(我不解释)。其实你出门开车去公司还是做train 去公司都是一种吸引offer 的过程,所以在能出现的地方就准备满满,自信满满的出现。 (女生要美美哒)

5. 资料分享:

1. 关于ios 当时总结了必问的问题,这些应该能cover 80% 以上的除了coding以外的问题

google drive 链接:https://drive.google.com/open?id=0B0_nvMWeIHCUZ2s2eXVOZVJhY28

2. 刷题参考: 当时多谢tangjikai 同学,其实我也不认识此人,他在youtube 上的视频及分类总结及每道题精炼的讲解对我帮助很大。特意把链接po 出来,造福大家:

https://www.youtube.com/channel/UCBedpxcU3mTJ-_PrKAP4vEg

3. 应付电面以及onsite 扯的一堆cs general 问题的总结:

google drive 链接:https://drive.google.com/open?id=0B0_nvMWeIHCURl9sWkhRb2tqU00

源于实际面试及这个网站:

强力推荐:http://programmerinterview.com/

4. QA 学习: 

学习基本的概念:http://www.guru99.com/software-testing.html

学习Web( Selenium )和 mobile (Appium) 的automation framework 学习: Udemy 的两门课,手把手教学, 5 个小时一门课下来就能跟上啦。

https://www.udemy.com/webdriver-test-automation-framework-step-by-step/learn/v4/content

https://www.udemy.com/effective-appium-tutorial-with-real-project/learn/v4/overview


6. 结语


其实说了这么多,不知道对大家有用的信息量有多少,初心就是把自己的经历,教训以文字的形式总结出来,并分享,方便后人查阅。

跟地里一发帖就是一堆offer 的大牛们没法比,本身就是在这两年中,慢慢成长的例子,拒信收了无数,offer 有且仅有。先 从Tesla 家, 等修炼一阵再拥抱果园。

(但是对于一个iOS er 来说能进Apple 是多少日日夜夜以来梦寐以求,每次跑步完成里程的动力,怀着多少感恩的心情拥抱她嘛。)

我们在美国奋斗的中国人面对的现状,一个人的力量很渺小,但是如果每个人能对彼此发出友谊的帮助,对彼此的进步来一个正能量,相信咱们的处境会更加美好。 我说这个的意思,不是让你期待只要是中国面试官会给你放水,任何的帮助都是在扎实稳打的基本功+良好的品格是前提下的。

在求职的时候,有个刷题红包群,不能完成刷题就已发红包自罚,还有就是互相得到面试就互相告知哪里有opening,面经分享等,这些都是可取的方案。

就酱,完结。

(来自一个理科生-> 理工科专业->书读的很少的作者,文笔粗糙,望见谅)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容

  • 打开终端!brew -v查看你的mac里面有没有装brew。brew是mac os里面,类似于ubuntu的apt...
    shuolol阅读 1,109评论 0 0
  • 我怎么说我妈这个人呢,跟她谈不了诗和远方,每次打电话开场永远是有事没然后下一句就是是不是没钱啦!谈不了母子亲情谈不...
    6186834d3810阅读 177评论 0 0
  • 夜深人静, 给花儿浇水, 风信子竟又开出了一个枝头, 惊喜这美艳的生命如此绚丽短暂, 没想到, 她索性又再生长一枝...
    普兰的颜色阅读 254评论 2 3
  • 《美则传奇》是作者艾瑞克·莱恩和亚当·劳瑞的创业感悟,文中的内容不仅适用于创业,对于我们个人的发展也是很有帮助的。...
    云和山嘚彼端阅读 386评论 6 8