一亩三分地论坛

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

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

[实习] ECE转CS半年找到A家实习总结(附Amazon Arista面经)

  [复制链接] |试试Instant~ |关注本帖
8wy172250 发表于 2014-3-29 17:11:01 | 显示全部楼层 |阅读模式

2014(1-3月)-[13]CE硕士+fresh grad 无实习/全职 - 校园招聘会| 码农类实习@Amazon

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

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

x
    这个月中旬的时候拿到了Amazon SDE summer intern offer。这中间从一亩三分地里得到了大量有用的信息,现在趁放春假把自己这半年来的经历写一个总结,希望能帮助到地里的战友们。

    先说背景:本科ZJU,ECE下某奇葩专业,专业方向比较偏嵌入式,学过比较水的数据结构、操作系统、数据库和软件工程,代码能力薄弱,基本只写过C,无面向对象和大程序开发经验。13 fall来到美国,UCSD CE MS。在UCSD学了本科生的数据结构、OS、算法、java,成绩尚可。从14年1月份开始看CTCI,leetcode写了40道左右。

    我在来美国之前就决定转软了。当时的考虑是,一来我对硬件没什么特殊爱好,本身也不是特别反感编程,二来硬件也不轻松,但是招工难度以及待遇比起CS来要差很多,投入产出比不高。但一开始我纠结的是,我是要做偏底层、软硬结合的硬件,还是直接走纯软路线,和CS学生正面竞争?这个问题我一直没有想好,就这样在纠结中来到了美国。暑假也基本没干什么正事,水到什么程度呢,毫不夸张的说,一行代码都没写过。. 1point3acres.com/bbs

    fall quarter选了一门ECE数电课(为了刷GPA和凑学分),以及本科生数据结构和OS。我选后两门课,而没选算法的原因是,我感觉自己简历上干货太少了,而这两门课各自有4个project,可以让简历好看不少。就这样,我走上了转软的不归路。两门CS课都是极其的量大份足,project、midterm、final轮番上阵,再加上自己基本功不好,导致自己爽的飞起,整个quarter基本不是在赶due就是在复习考试,整周整周的时间泡在学校,最忙的时候连去趟超市都觉得是在放松。最后拼了老命拿了两个A。这两门课对我的帮助是非常大的,让我熟悉了面试可以覆盖到的基本所有数据结构类型,同时2门课8个project也让我的简历丰满了不少,有了和面试官谈笑风生的资本了。


    寒假本来打算狠狠的刷题,结果在美国的老同学轮流来加州玩,然后我到处陪玩,学习计划彻底流产。不过也没办法,在San Diego这种地方,当导游接待同学是免不了的事。. 鍥磋鎴戜滑@1point 3 acres


    winter quarter开始的时候,我心里特别的虚。我当时的状态是:面试题从没做过,算法没学过,Java不会,C++半生不熟,当时一想两个月以后就要上战场了,简直觉得自己弱爆了,两个月时间从零开始,哪能搞定面试官啊?但是慌归慌,生活还是要继续的。后来的是事实证明,事情并不像我想的那么难。.1point3acres缃


    根据往年学长的经验,我知道在第8周会有一个大型的engineering job fair,然后Amazon会在第十周来校园面试。于是,我就瞄准这个时间点,开始了一步步的准备。在选课上,我选了本科生的算法课,本科生入门的java课,以及一门研究生的database。算法课是绝对要学的,选java是因为我想用java去做面试题,而且本科生java比较轻松,可以替我腾出更多的时间刷题。选研究生database也是基于同样的考虑,那就是这门课事情不多,可以节约时间准备面试。可以说,我整个quarter只有一个目标:找到实习。选课的时候我完全围绕这个中心,怎么样有利于我找实习,我就怎么来。我当时真是豁出去了,成败在此一举,不成功便成仁。

.1point3acres缃
    之后,在java课上我学会了写最简单的java程序(后来证明面试时不会涉及太复杂的java程序,简单掌握足以应付),同时粗略的了解了java的机理,以及面向对象设计的一些知识。算法就是基本的图论、贪心、DP,这些知识面试的时候并没有涉及到,但是学习算法提升了我的内功,让我有了programmer的思维,这些可能间接给了我很多帮助。


    关于刷题,我寒假结束的时候开始看CTCI,但是效率巨低,磨磨蹭蹭到最后只看了1-5章,以及recurssion dp, sorting searching两章。leetcode是在第九周,也就是Amazon面试前一周集中刷的,用了七八天时间刷了40道leetcode高频题,AC率比较分散,难易皆有。. from: 1point3acres.com/bbs


    job fair时,我基本把场内能投的公司全投了一遍,大概20家左右。经过一周的痛苦等待,最后一共拿到3家公司的面试:Bently Systems,Arista Networks,还有Amazon。. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴


    Bently (not Bentley) Systems不提也罢,约了一个电面,卯足了劲准备做题,结果来了个HR问了一坨behavior question,感觉像考托福口语,最后不出意外再也没消息了。
. Waral 鍗氬鏈夋洿澶氭枃绔,

    Arista Networks是一家startup,号称pre IPO公司,主要做software defined network,做的东西偏底层,主要用C和C++,不涉及performance的地方用Python等。他家面试只有一轮电面,形式比较特殊,是要ssh登录,然后写代码,要求编译并通过testcases。我被问到了两道题:一道strstr,一道链表里删除重复元素,用C写。我对指针不是很熟悉,面的时候遇到一些问题,在面试官的指导下做出了两道题。大概一周之后收到offer,在湾区,6k每月,由于有Amazon故放弃。这家公司还是挺适合有硬件背景的半路出家码农的,而且他们家面试题库一般只有几道题,事先好好准备一般问题不大。


    Amazon是校园面试,背靠背两轮,共90分钟。第一个面试官是个白人小哥,上来先问了一些behavior question,比如赶不上deadline怎么办啊之类的。然后开始做题:输入一个数组,找出出现奇数次的数。我首先问,这个数只有一个吗?只有一个的话可以用xor做。他说可以有若干个,然后我问这些数字有固定的range吗,如果如果有的话可以拿一个数组,把数字转化成index,相当于一个简化的hashtable。他和我聊了聊我的思路之后,说没有固定的range。好吧,那就只能上hash table了。然后就开始写代码。写完之后,他找了几个小错,比如不必要的if之类的。然后,他问我还可以用别的data structure做吗?我想了想说BST可以做,说了我的思路之后,他让我继续想,我实在想不出了表示缴械投降。他告诉我hash set就足够了,我表示原来还可以这么做啊好牛逼啊云云。这时候时间基本到了,我问了几个问题之后这轮面试就结束了。


    第二轮是个女面试官,UCSD alumni,出的题不常规。给了几个相互关联的类,让查找符合某个条件的项,并输出前n个的值。要点:hashtable,iterator,priority queue。

. 1point 3acres 璁哄潧
    周二面了Amazon,周五拿到offer,校招效率还是很可观的。地点在Seattle。Package:base salary 6.5k,报销机票,提供1000刀10%的员工折扣。住房二选一:住corp housing,四星级以上水准,单人间500,双人间中的一间300,或者自己找房子,有2.5k房补。拿到offer的心情就不说啥了,基本和拿到UCSD ad的时候差不多,一个字:爽。


    心得:我感觉,对于一个只写过C的ECE学生,只要决心转软,利用暑假,再加上来美国后的第一个半年,总共八九个月时间,是完全可能找到软件实习的。最重要的是数据结构和算法。OS和database最好也上一下。找实习简化来说就两步:1. 骗面试 2. 面试。 对于骗面试来说,你要有一个说得过去的GPA,3.7以上个人认为够了,然后是相关课程,还有,就是要有相关的project,有亮点或者突出的地方,来和别人吹牛。我在上数据结构的时候,把一个老师要求5秒的东西做到了0.3秒,之后就把这个故事跟面试官讲了一遍一遍又一遍。进入面试环节之后,就是另一回事了。准备面试题,CTCI我觉得一定要看,可以一开始拿来打基础找感觉。之后,就可以上leetcode了。leetcode是个好东西,一定要做。具体刷到多少题并不重要,关键是要覆盖到必须的东西,要不断考虑哪里还没练习过,哪类题还不熟,哪种数据结构的具体用法还不会,然后做针对性的练习。我在面Amazon前一天突击看了hashtable遍历方法和Priority Queue用法,然后第二天派上了大用场。


    我能拿到offer也有很大的运气成分,如果当时没抢到Amazon校招的坑,如果是面了Arista的校招而不是电面,那多半就跪了。于是这也是我写这篇总结的重要原因之一:攒人品。前路艰险,所需人品甚多,希望大家不吝赐予。特别建议用看得见摸得着的方式——加大米,来给我RP。祝大家在转软的道路上一切顺利,码出offer,码出妹子,码出未来,早日登上人生巅峰!. visit 1point3acres.com for more.


评分

30

查看全部评分

本帖被以下淘专辑推荐:

blactangeri 发表于 2014-3-29 19:52:27 | 显示全部楼层
thanks for sharing
回复 支持 反对

使用道具 举报

sskiso 发表于 2014-3-30 08:47:59 | 显示全部楼层
只写过C为什么指针会不熟悉?
回复 支持 反对

使用道具 举报

aloua 发表于 2014-3-30 10:15:29 | 显示全部楼层
学长,求教下您第一学期指的project是什么概念的啊? 能举一个project的例子么?
回复 支持 反对

使用道具 举报

woaibai 发表于 2014-3-30 10:23:31 | 显示全部楼层
恭喜~ . 鍥磋鎴戜滑@1point 3 acres
请教一下,找奇数次元素的,用hashset是怎么做出来的?
回复 支持 反对

使用道具 举报

woaibai 发表于 2014-3-30 10:27:58 | 显示全部楼层
回复 支持 反对

使用道具 举报

housy 发表于 2014-3-30 10:29:58 | 显示全部楼层
Cong我浙的学长!!!很励志!
回复 支持 反对

使用道具 举报

cqx83 发表于 2014-3-30 10:40:01 | 显示全部楼层
woaibai 发表于 2014-3-29 18:23
恭喜~ 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
请教一下,找奇数次元素的,用hashset是怎么做出来的?

奇数次put进hashset,偶数次的时候从set中remove掉,所以最后只有奇数次的元素会出现在hashset里面
回复 支持 反对

使用道具 举报

 楼主| 8wy172250 发表于 2014-3-30 14:08:50 | 显示全部楼层
sskiso 发表于 2014-3-30 08:47
只写过C为什么指针会不熟悉?
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
因为我比较水 能不用指针就尽量不用指针
回复 支持 反对

使用道具 举报

 楼主| 8wy172250 发表于 2014-3-30 14:11:22 | 显示全部楼层

你要来UCSD么?
回复 支持 反对

使用道具 举报

 楼主| 8wy172250 发表于 2014-3-30 14:13:18 | 显示全部楼层
aloua 发表于 2014-3-30 10:15
学长,求教下您第一学期指的project是什么概念的啊? 能举一个project的例子么?

数据结构有Binary Search Tree,Random Search Tree,Huffman Coding,Boggle Game,用的是C++。
OS有进程调度、semaphore synchronization、Thread Package Implementation。
回复 支持 反对

使用道具 举报

wilsonwang1119 发表于 2014-3-30 14:52:04 | 显示全部楼层
8wy172250 发表于 2014-3-30 14:13
数据结构有Binary Search Tree,Random Search Tree,Huffman Coding,Boggle Game,用的是C++。
OS有进 ...

学长我记得你啊,在我定位贴里还说咱俩三维像可以参照你的申请结果,结果果然拿到了SD的CE,然后汇报帖里我记得你也给我了咱ZJU SD的群号,谢谢你啊~现在还在SD GATECH 和哥大CS里犹豫,你怎么看呢?
回复 支持 反对

使用道具 举报

housy 发表于 2014-3-30 15:09:53 | 显示全部楼层
8wy172250 发表于 2014-3-30 14:11
你要来UCSD么?

唔 话说我在GaTech和SD纠结了好久好久……现在比较倾向去GaTech了
因为之后是考虑回国的,所以想校友资源,包括在国内的名气佐治亚都更好.鏈枃鍘熷垱鑷1point3acres璁哄潧
两家的课程设置基本没差
SD找工实习的优势大一些,但我想以GaTech的实力和名气,加上我学的是偏软的track,工作应该不是大问题
最后就是万一我到了美国突然开窍想做学术了(虽然可能性很低),GaTech那边能提供的资源也更多一些吧~

拙见 不知学长怎么看?感谢感谢!
回复 支持 反对

使用道具 举报

 楼主| 8wy172250 发表于 2014-3-30 15:34:26 | 显示全部楼层
wilsonwang1119 发表于 2014-3-30 14:52 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
学长我记得你啊,在我定位贴里还说咱俩三维像可以参照你的申请结果,结果果然拿到了SD的CE,然后汇报帖里 ...
.鏈枃鍘熷垱鑷1point3acres璁哄潧
这三所差别不是特别大吧。follow your heart
.鏈枃鍘熷垱鑷1point3acres璁哄潧
UCSD环境最好,就业估计也比另外两所稍好,但名气没有另外两所大,哥大贵,但纽约是个过日子的好地方,GT我就不是很了解了。

看你更在乎哪个了,选哪个都不会差的。
回复 支持 反对

使用道具 举报

wilsonwang1119 发表于 2014-3-30 15:42:41 | 显示全部楼层
8wy172250 发表于 2014-3-30 15:34
这三所差别不是特别大吧。follow your heart
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
UCSD环境最好,就业估计也比另外两所稍好,但名气没有另外 ...

SD和GIT都是ECE CU是CS,否则SD还是比CU好很多我感觉~我也觉得是FOLLOW MY HEART!
回复 支持 反对

使用道具 举报

aloua 发表于 2014-4-1 10:00:46 | 显示全部楼层
请教下找奇数个的Amazon的那道题, 用BST是指每独到一个数>>search in the tree>> add value in the respective node>> after all input, search all the item in the tree, 是这个节奏么? 太弱了,不懂
回复 支持 反对

使用道具 举报

aloua 发表于 2014-4-1 10:01:57 | 显示全部楼层
cqx83 发表于 2014-3-30 10:40
奇数次put进hashset,偶数次的时候从set中remove掉,所以最后只有奇数次的元素会出现在hashset里面


请教下找奇数个的Amazon的那道题, 用BST是指每独到一个数>>search in the tree>> add value in the respective node>> after all input, search all the item in the tree, 是这个节奏么? 太弱了,不懂
回复 支持 反对

使用道具 举报

 楼主| 8wy172250 发表于 2014-4-1 11:16:00 | 显示全部楼层
aloua 发表于 2014-4-1 10:01
请教下找奇数个的Amazon的那道题, 用BST是指每独到一个数>>search in the tree>> add value in the re ...

对,就是这种土办法
回复 支持 反对

使用道具 举报

lycandy 发表于 2014-4-3 14:31:53 | 显示全部楼层
Cong!请教一下楼主CE选本科的CS课程有没有什么优先次序啊?比如说只能cs专业的人选完了才能选啊?还有CE选本科cs的可之前需要得到advisor的批准嘛?我正在纠结UCSD CE的选课政策呢,希望楼主能介绍一下。先谢过了~
回复 支持 反对

使用道具 举报

 楼主| 8wy172250 发表于 2014-4-3 17:14:33 | 显示全部楼层
lycandy 发表于 2014-4-3 14:31
Cong!请教一下楼主CE选本科的CS课程有没有什么优先次序啊?比如说只能cs专业的人选完了才能选啊?还有CE选本 ...

选CS研究生课都没限制,可以直接选。选CS本科生课的话,如果没有预修要求(比如很简单的入门课),或者预修要求达到了(比如135的预修要求是100,而100已经上过了),也是可以直接选的。但如果本科生课有预修要求而自己没达到,那么就不能选,要小秘clear。ece学生clear cs课的过程比较漫长,过程比较纠结,不过基本没有想上的上不了的情况。
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-7 17:04

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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