EE学位Bio实验男找CS工作经验总结

avatar 9870
GUIXIANG
12544
19
[align="left"]温馨提示:看不惯中英夹杂的就不浪费您时间了,免得上火,慢走不送。祝大家都能搞定offer。[/align][align="left"]流水账[/align][align="left"]11年8月去美帝,在Universityof Florida呆了一学期后转到West Virginia University,从此开始了拿电子工程系的学位,论文做偏生物方向,但是打算毕业找计算机方向的奇葩生涯。感谢导师感谢师兄感谢泰国博后,终于14年3月底答辩完事,4月提交论文,5月正式毕业,没有任何实习经验。从毕业前的零零散散投开始,一共投了300多份简历,7月底终于拿到一个感觉还可以的offer。由于OPT已经开始近一个月,于是就从了[/align][align="left"]提交完论文就直接到洛杉矶投奔饲养员,感受南加州夏天的烤肉天气和各种好吃中餐的同时开始漫天撒网找工作。面试了N家当地的小公司(被大公司直接无视,即使找人内推也是无视,只能呵呵),见识到了各种奇葩(此“奇葩”修饰下个逗号前所有名词(#Д))公司/HR/面试官/工作方式/薪水,终于在朋友的帮忙下递上一份简历并且撞上狗屎运,公司里一个印度大姐突然辞职,然后开始了周一约面试时间,周四面试给口头offer,周五早上签完卖身契直接开始工作的超快节奏。[/align][align="left"]面试准备材料[/align][align="left"]我计算机方向的基础专业课基本没学过(除了一门算法课,还拿了个B),完全靠自学。简单说一下我准备非前端非大数据面试用的材料吧:[/align][align="left"]· 第五版的Cracking the Coding Interview,江湖人称CTCI,重要章节零零散散过了两三遍;[/align][align="left"]· Leetcode里面accept rate高的前七八十道题刷了三四遍;[/align][align="left"]· programmerinterview.com上关于java,recursion ,data structures和database的部分看了两遍,这个用来打基础入门,或者临时抱佛脚应付面试还是可以的;[/align][align="left"]· 其他stackoverflow和geeksforgeeks两个网站也零散的看了一些算法的题目;[/align][align="left"]· Careercup网站上各种公司的面试题,看的不多,因为很多题目的描述不够完整,但是看了总比不看好。[/align][align="left"]关于转专业找计算机工作如何过简历关,基本上就是course project尽量选跟编程相关的,然后再去网上找几个视频做几个project丰富简历(我做的都是android的小app,因为android开发入门真的是。。。太他喵的容易了)。这些基本能过一些小公司的简历关,然后就是靠上面的那些材料准备面试了。找工作的时候我的简历上的project就是一个纯java的小游戏,三个android的app和一个Matlab图像处理的小程序(求看完下文不打脸)。当然,最重要的,人品要好。[/align][align="left"]这里要把Matlab拿出来单独说一下。用Matlab做的project基本没啥用(用Simulink做仿真不知道,没用过),即使用Matlab做图像处理相关的project然后来找图像处理相关的工作也基本没啥用,除非你是PHD毕业找这方面的工作或者就打算去Mathworks工作。工业界用Matlab的太少了(OpenCV还是有价值的),那些用Matlab开发新算法的工作是基本轮不上刚毕业的硕士去干的。[/align][align="left"]面经(android开发方向)[/align][align="left"]1. Fuhu:做儿童用平板(NabiTablet),相机和耳机的。公司离LAX机场很近。这个公司用一个字来形容:艹。两个字来形容:坑爹。用三个字来形容:请绕行。[/align][align="left"]一开始安排电面的时候HR直接找了个做infrastructure的国人大哥面我。大哥看我的简历估计也很蛋疼,试探着问了几个系统、网络和硬件方面的问题,发现我都不会,然后就说技术背景不太合适,会跟HR联系重新安排面试。整个过程不到10分钟(这大哥还是很好的,是HR不靠谱)。然后等了几天,HR那边直接发来一个interviewZen的链接,电面变成网上做题了。于是我很不爽的半个通宵做完了(只有三道题,我太水),提交几天之后安排onsite面试。Onsite面试想先跟另外一个美女HR谈,除了问我对加班有什么看法(他们真心狂加班还不给加班费)其他基本都是例行公事。然后跟两个工程师面试,基本都是基于我简历上project展开的。[/align][align="left"]最后拿到了offer,但是只给50k,还是税前。看到offerletter瞬间呵呵,去查了一下公司往年的H1B的工资,基本能给到85k,就问HR怎么回事。HR表示一开始都是这个价(也就是第一年当苦力用),第二年看表现涨工资。然后又去glassdoor上自习看了看评价,发现很多人透露说好的评价很多都是工资找人写的,这个公司其实就是血汗工厂之类的,早上9点上班,晚上8到9点下班,没事干也得在公司呆着,各种差福利。然后就没有然后了。[/align][align="left"]电面题目1). Implement a stack using two queue, 2). Convert a char array to a treelevel by level in a non-recursive way(这一题里面给的例子出错了,纠结了好久,只好给出个有点儿问题的解法,然后注释上说明了例子的错误)3). Move all zeroes to end of array.Given an array of random numbers, Push all the zero’s of a given array to theend of the array. For example, if the given arrays is {1, 3, 0, 0, 5, 0, 6}, itshould be changed to {1, 3, 5, 6, 0, 0, 0}. The order of all other elementsshould be same. Expected time complexity is O(n) and you can scan the arrayonly once, and extra space is O(1). [/align][align="left"]2. NationBuilder:洛杉矶当地(小?)公司,做的东西我感觉挺有前途的,大家可以去看一下。电面完直接挂了。Skype面试线简单问问背景和简历之后就发来个链接,onlinecoding就两道题。第一题CTCI原题,如何判断两个char数组里的元素是一致的,可以假设是ASCII。其实很简单,但是我脑残的用了一个char数组来存遍历完一个数组后每个元素出现的次数。花了十几分钟才改过来。第二题具体忘了,基本就是parse XML,做的很烂,挂了无话可说。[/align][align="left"]3. SOASTA:北加的一个云测试公司,很有前/钱途。这个是毕业前投的,面试官直接是公司的VPof engineering。第一轮电面的题没有涉及写代码,都是一问一答,包括OOP的概念,各种排序方法的时间复杂度,synchronizedmethod vs synchronized block,deadlock,SQL的join和prepare statement。[/align][align="left"]电面完了之后HR问方不方便onsite面试,然后我脑残了,觉得他们提供的时间有可能跟答辩冲突,也没仔细问,就直接说不方便,然后变成了第二轮电面。这次的题明显难度加大,基本是实际问题的抽象,第一题是有个系统,有很多客户端要从服务器获取数据或者更新数据,问有什么方法减少server端的压力。第二题涉及到concurrency,需要用synchronized method和lock。第三题大致是有个map和对应的doubly linkedlist (list的每个元素都是MapEntry),给出map中的一个entry,要求用O(1)在 list里找到它。这个需要创建一个field包括SimpleEntry的instance的point类,把这个point类作为mapEntry的VALUE。总之被一顿海虐。最后面试官看已经快两个小时了,表示他有事要走了,我对那题有想法以后可以给他发邮件。然后两天内来回30多封邮件总算把问题解决完了。最后被拒,无可厚非。[/align][align="left"]4. Laserfiche:投完简历给了两道题在家做,一道编程一道阅读理解分析。编程题是DynamicProgramming经典题目coinchange。阅读理解题就很蛋疼,一家汽车公司生产几种车型,突然有一款车的次品率很高,给出几个不同部门负责人的话,让推测有哪些原因。做完几天之后被拒。[/align][align="left"]5. Symantec: 第一轮电面是个刚来美帝一两年的国人大哥,直接问我说汉语还是英语,我说都行,他说汉语吧,我英语不咋滴,咱说英语估计就成你面试我了,囧。知道我不是科班出身,问的问题不深,只要我的回答有那么个意思就过了,感谢大哥放水。Onsite面试四轮,每轮一个小时,面试官两个烙印,一个白人小年轻,一个国人大哥。第一轮问了很多java基本的概念,绕的云里雾里。然后让实现singleton,reversea linkedlist。第二轮问了很多android相关的内容,memoryleakage,asynctask等等。有些问题答得不好,最后20分钟就直接开始拉家常了。第三轮国人大哥继续直接汉语,先问Java和C++的一些区别,然后问deadlock,代码题有一题涉及到slidingwindow,写出来了,但是时间复杂度太渣,也没优化出来,拉倒。最后一轮一上来直接给我一个数字让我换算成16进制,很蛋疼的手动算完以后让写程序实现。写的程序有个bug,但是因为面试官测试用的数字都是很特殊的,居然连试了四五个数字都是对的。面试官有点儿不爽,一直说有点儿问题但是又说不出来。我看了半天终于改出来了,承认代码确实有问题之后面试官如释重负,居然笑了起来,然后问几个问题就结束了。顺利被拒。[/align][align="left"]6. techEmpower:没有电面,直接onsite。先问出身问简历,然后问问NetBeans和Eclipse做开发环境哪个好(无语),然后代码题。第一题是看程序输出,不难。然后问如何改进,基本就是考虑特殊情况,加一下try catch什么的。第二题记不清了,需要自己写,但是也没写,直接说了一下思路就继续了。问如何改进时间复杂度,没说出来。走之前发现面试官的手表很像moto360,夸了一下,最后被拒。[/align][align="left"]7. VS Media:这个公司要好好说说。他们家的核心产品是视频软件(视频点播,实时视频聊天啥的),网站已经很成熟了,想往移动端(主要是android,为什么不做ios下面说)发展,就打算招人做个移动客户端。这些都无所谓,关键是他们家的视频内容----大部分是色情视频!刚开始HR联系我的时候问我介不介意,我还以为是开玩笑,觉得我一码农你问我这干毛。直到HR在面试前给我发来两个连接我才发现,我擦,真的是色情视频啊。服务器上几千几万个小时的视频存放着可以点播,还有很多performer(就是stripper或者hooker了,但是在家里直接对着摄像头表演),用户可以选择一个私人视频聊天,或者跟很多人进入一个聊天室看一个performer表演,打字聊天。不做ios端是因为苹果这方面的要求比较严格,色情内容不允许,他们最多做个类似于浏览器的东西,点一下还是跳到网站上看。[/align][align="left"]扯远了,回归正题。面试也是直接onsite,但是面试官对android真心一点儿不懂。先用至少50寸的触屏电视演示现在的网站(咱也是用50寸的屏幕看过色情视频的人了),然后说了一下软件架构,整个面试就在“想实现这种效果,是否可行,有几种方法,安全性怎么样”的循环中度过。最后带着参观了下公司,很geek的感觉,工程师都是年轻白人小伙,电脑屏幕上不是代码就是躶体,还有很多轮滑和整冰箱整冰箱的饮料,人生赢家。公司的客服在最靠内的一个房间里,隔音效果巨好。问为什么,答:有时候performer会因为经济问题过来理论,公司不想让performer的大吼大叫影响其他人←_←[/align][align="left"]面完就基本知道没戏了,虽然感觉面试表现还不错,但是他们要招的是senior level的工程师,只是没明说而已。一个星期之后又让发点儿codesample过去,随便把一个app的一段代码发了过去,到现在都没戏,默拒吧。[/align][align="left"]8. 现在的公司:面试先是OOP的一坨概念,然后举出几个简历里的project用到这些概念的例子。然后是quicksort,socketcommunication,TCP/UDP, entity–relationshipmodel等等,总之不算很难,但是我觉得我回答的也不好。可能当时真的很缺人吧,就把我收了。[/align][align="left"]9. 能记住的就上面这么多公司的面试了,期间还收到ICC和staffing company无数的邮件和电话,ICC还有俩公司面完给了offer,但是ICC我基本都是用作面试空窗期练手的,感觉效果还不错。thesis做的方向也投了一下,只能呵呵。[/align][align="left"] [/align]
[align="left"] [/align]
  • 25
19条回复