{"componentChunkName":"component---src-templates-story-post-js","path":"/zh/stories/2018-01-06-ucsd-google-amazon/","result":{"data":{"site":{"siteMetadata":{"title":"LaiOffer","description":"Develop technical knowledge. Improve programming skills. Build your career in software engineering.","url":"https://www.laioffer.com"}},"currentStory":{"edges":[{"node":{"title":"几度面试失败后, 我是如何拿到Google和Amazon offer的？","path":"/zh/stories/2018-01-06-ucsd-google-amazon/","id":"caac684f-2e68-5d42-86eb-092442dc2835","name":"Jialong Li","contentful_id":"6UuMf3EMzCm2SwyYGEw0gW","date":"2018-01-06T14:00-07:00","featured":true,"node_locale":"zh","academicBackground":"UCSD | CS","class":["软件工程师旗舰核心课程"],"offer":["Google","Amazon"],"description":{"description":"去年找实习几度碰壁，好不容易拿到两个面试，结果都挂掉了，让我非常失落。后来，在学姐的推荐下，我找到了来Offer。作为CS科班的同学，我深深地体会到来Offer课程的价值。在课堂上听到了很多CS科班出身所听不到的知识，在算法、编程、Design三个方面都有很大的提高。最终，顺利的拿到了Google的Offer。"},"thumbnail":{"id":"ca91d4bc-4abb-53a5-b320-de5e0d7fa482","resolutions":{"width":480,"height":270,"src":"//images.ctfassets.net/04k2xg9gplcj/2hmFnk17Ne2QUCqGuwSSOO/4236786207ff139e68db07cc6b3dc4b2/ucsd-cs-google-thumbnail.jpg?w=480&h=270&q=50&fit=fill","srcSet":"//images.ctfassets.net/04k2xg9gplcj/2hmFnk17Ne2QUCqGuwSSOO/4236786207ff139e68db07cc6b3dc4b2/ucsd-cs-google-thumbnail.jpg?w=480&h=270&q=50&fit=fill 1x"}},"thumbnailAlt":"Google公司内部","featuredImage":{"id":"cd0c53b9-c31a-51a9-85a6-ef759cd4ac1c","resolutions":{"width":800,"height":550,"src":"//images.ctfassets.net/04k2xg9gplcj/1pnIYd6S3i4qEEWqqWKC8e/81a00ecc4fcac436815292ad1c2df977/ucsd-cs-google-hero.jpg?w=800&h=550&q=50&fit=fill","srcSet":"//images.ctfassets.net/04k2xg9gplcj/1pnIYd6S3i4qEEWqqWKC8e/81a00ecc4fcac436815292ad1c2df977/ucsd-cs-google-hero.jpg?w=800&h=550&q=50&fit=fill 1x,\n//images.ctfassets.net/04k2xg9gplcj/1pnIYd6S3i4qEEWqqWKC8e/81a00ecc4fcac436815292ad1c2df977/ucsd-cs-google-hero.jpg?w=1200&h=825&q=50&fit=fill 1.5x,\n//images.ctfassets.net/04k2xg9gplcj/1pnIYd6S3i4qEEWqqWKC8e/81a00ecc4fcac436815292ad1c2df977/ucsd-cs-google-hero.jpg?w=1600&h=1100&q=50&fit=fill 2x"}},"featuredImageAlt":"Google公司内部","keyTag":null,"body":{"id":"276bcabe-af62-5f86-a6f8-6fc0f7663ecc","body":"大家好我是Jialong，找工作大约有半年的时间，到目前为止拿到了Google和Amazon的offer。\n\n和班里其它转专业的同学不同，我本科、研究生都是学CS的。虽然本科和研究生都还是不错的学校，但自认为自己并不是对计算机有很高天赋的那种。能拿到这些offer，真的是有点幸运。\n\n## 几度面试碰壁后，遇见来Offer\n\n和来Offer结缘是通过Jinhui学姐的介绍。\n\n可能是由于自己找实习的方法不对，去年找实习的时候几度碰壁，找到最后也只拿到了两个面试，fitbit和hulu。面试时，也因为问的题目都特别怪异，结果都挂掉了。\n\n![ucsdcs-1](//images.ctfassets.net/04k2xg9gplcj/2QdDbpXz0IA6oOaYcQ00Ww/86ee889c6c24128b1d892435b0849bb8/ucsdcs-1.jpg)\n\nJinhui学姐是一个十分热心十分善良的学姐，她在来Offer拿到Google offer后，为我推荐了来Offer，并真诚地阐述了在来Offer中学到的各种知识。\n\n我听完十分心动就报名试听了一节，感觉果然好。于是在暑期的时候，我抓住机会报名参加了夏季二班的学习。\n\n## 我努力的方法\n\n在来Offer的收获是很大的。\n\n首先我**从来Offer的课堂上听到了很多CS科班出身所听不到的技巧。**比如用recursion tree分析时间空间复杂度以及binary search的两种使用方法，heap在best first search中的妙用等等。\n\n尤其是DFS那节课，我觉得如果能吃透孙老师讲的那些个例题，基本所有的DFS题目都能bug free地做出来，也能给面试官讲得头头是道。这些真的都非常感谢孙老师，**因为这些技巧如果只靠看书来获取是远远不够的。**\n\n其次**我的java能力得到了极大的提高**，之前上大学的时候，讲java的教授是属于照本宣科、一节课讲一百多页书的那种，每堂课下来都觉得知识琐碎而凌乱。但经过了来Offer的学习，**在吕老师的有条理地归纳总结的帮助下**，java成为了我的小无相功，**面各种公司，都能达到提笔写java，语法错误为零的水平。**\n\n最后，赵老师的系统设计课我觉得受益也良多。赵老师的系统设计课可以说是博文广识，用于对付面试完闲得蛋疼的followup绰绰有余，倘若能有机地运用好，你还可以给面试官留下一个能力很强的好印象。虽然OOD我在面试中并没有遇到，但是我觉得在以后的设计之中绝对能帮得到我。\n\n![ucsdcs-2](//images.ctfassets.net/04k2xg9gplcj/4j14F85qmQaKE8GaWumy4Q/5a8f4cb11043fd464484740cef506451/ucsdcs-2.jpg)\n\n**整个大班课的课程我听了1遍，但大班的教程doc我看了大概4遍左右。**老师讲过的例题我基本可以做到**烂熟于心。**\n\n由于我一直觉得自己计算机方面的脑洞并不够大，我就把老师讲过的例题，算法里比较完美优雅的部分都摘抄下来并背诵了下来。**当然不是背模板的那种背，是记住算法的整个轮廓和流水线。**\n\n我觉得这个过程是必要的，一方面它让你把机械语言和自然思维相链接，另一方面这个过程帮助你能写出更优雅的代码。\n\n我是在看第四遍之后面的Bloomberg，当时就觉得自己的任督二脉有点打通了。\n\n## 面Google的几点小建议\n\n另外，想提供给大家几点小经验：\n\n### 1. 帮别人做mock interview\n\n不要只让别人帮你做mock interview，一定也要帮别的同学做mock interview。\n\n**这样你才会从面试官的角度去思考**，去衡量别人的代码是不是够好，也才会发现自己面试的时候是不是犯了什么大忌（比如没讲清楚就落笔，代码风格不好，没介绍清楚数据结构，这些都可能会让面试官听得一愣一愣的）。\n\n![ucsdcs-3](//images.ctfassets.net/04k2xg9gplcj/4uHoomZU2kmaScwwoIGys8/0f5552b625fcf899c890074b7cdff72d/ucsdcs-3.jpg)\n\n### 2. 多做算法\n\n第二个是多做算法开阔思路，**在准备Google面试的过程中，我感觉很多同学都栽在这个地方了。**\n\n听面试官说，Google的面试题简直囊括了方方面面。\n\n我们在准备面试的时候可以广泛涉猎，比如\n- 可以看A*算法、Kmeans等人工智能算法；\n- 也应该参阅Binary index tree、Dynamic tree等ACM竞赛的数据结构；\n- 还应复习找强连通片、找Hamilton回路、拓扑排序、并查集这种比较学术化的算法碎片。\n\n通过观摩这些算法与数据结构，我们能学到很多的东西并有效地复习自己的知识，做到滴水不漏。\n\n### 3. 尽可能多做难题\n\n第三个是对基础比较好的同学，要多做难题。Google面试题还是挺有水平的。\n\n### 4. 对面试官好一点\n\n第四个是**be nice to everyone**，尤其是你的面试官。\n\n感觉周围有很多同学智力还是够的，可是最后却没面过，我想可能是**面试官以“和这样的人一起工作会造成不爽”为理由挂掉了。**\n\n我是属于不是很有自信的那种人，由于上学期就挺想毕业的，我就拜托Jinhui学姐帮忙内推了Google，没想到误打误撞，一直面到最后都特别顺利。终于有一天，Jinhui学姐告诉我offer officially approved。\n\n![ucsdcs-4](//images.ctfassets.net/04k2xg9gplcj/URxaE9OnQcieSOocMcwye/7a13200a44516ca662d276a83424b3d7/ucsdcs-4.jpg)\n\n那天天气特别晴朗，**我感觉一切努力都得到了回报。**\n\n感谢Jinhui学姐，感谢来Offer的各位老师，感谢一起备战的小伙伴们！最后，祝愿各位小伙伴们都能拿到理想的offer，祝愿来Offer越办越好！\n"}}}]}},"pageContext":{"isCreatedByStatefulCreatePages":false,"langKey":"zh","pagePath":"/zh/stories/2018-01-06-ucsd-google-amazon/"}}}