8个月从CS菜鸟到拿到Google Offer的经历+内推

http://blog.csdn.net/fightforyourdream/article/details/17094127

http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=77453&page=1&authorid=103773

投了肯定有100家以上,

一共面了30家,

11个onsite,

前7次都挂了,

后4次拿到了3家大公司和一家startup的Offer,

最后从了G家。

我的背景,

国内软件工程混沌过了4年,

毕业时连Java,C++的main都分不清,

一共没写过100行代码,

CS基础知识是极度零散与凌乱的。

误打误撞读了CS 一年的master,

12年9月入学,

13年1月底开始找工作,

当时的程度,

和本科毕业时,

没太多区别。

总结自己,

一共五点支持我,

撑了过来。

一为知识,

二为实践,

三为目标,

四为心态,

五为技巧。

第一,知识

掌握一门编程语言

我选了python,

因为语法和数据结构足够简单,

让我更加关注代码的作用 — 目的apply到数据结构上。

入门:

codeacademy 学python basic

应用:

用python写了一遍CC150上能写的题目

这时候就逐渐看的懂Python Documentation了

数据结构与算法

数据结构:找自己学校的课件或网上教程,仔细研读了3遍

算法:其实对找工作用处不大,只要弄懂那些应用到数据结构上的常用算法(DFS etc)和Dynamic Programming就差不多了

3. 训练

就是训练用1中语言将算法应用到数据结构上;

方法就是刷题,

我只刷了CC150,

完完整整刷了5遍,

最后每次面试,

都快速刷一遍。

4. CS素养:

刷完题后,以为自己还不错了,

但是每面还被拒,

发现与面试官随便聊聊,

就会暴露自己缺乏CS素养,

也就是CS基本常识,

以及各种知识的关系。

入门:

获取比较全面的CS知识最快的方法,

www.programmerinterview.com

把主要的section死记了两遍,

偶尔可以应付面试官,

但是自己却没办法宏观把握和理解知识。

B. 中级:

深入学习:

a.数据结构

b. 算法

c. 数据库

d. 操作系统

如果能上CS的科目,

这4科是最好上的,

fancy的课可能对找一个general developer的帮助不大。

如果没上过,

就上online的课。

e. 推荐Berkley的CS的入门课,

建立起了CS思维过程

Structure and Interpretation of computer programming:

http://www.youtube.com/playlist?list=PL3E89002AA9B9879E

C. 进阶

全面吸收,囫囵吞枣;

以下知识只是为了完善知识体系,

快速学习的。

语言:

Java, C++

随便找本入门书,

花几个小时看一遍,

了解数据结构在这些语言里

都叫什么,

怎么使。

b. front end:

HTML, CSS, JQuery, XML

从W3C school 上快速看每一块内容。

c. Linux 指令

d. Web development:

Django

e. Mobile:

android: online course (udemy)

iOS: iOS Programming

f. Others

Design Pattern: online course (udemy)

Programming Pearls:

面google前花了两天看的,

如果说CC150和leetcode教了方法,

那么这本书就教了方法论,

亦即思考过程,

和从初级思考过程到高级思考过程的思考过程。

第二,实践

刷题和CS常识让自己有了lego,

但是并不自信,

因为没有作品。

自己去写code,

build自己的作品。

可以自己写个side project,

比如我就写了个iOS的app。

也可以认真写写course project,

或者找老师做点项目。

第三,目标

1.一定

自己和周围很多ECE朋友的经验告诉我,

只要你想找CS的工作,

一定能找到。

所以别有备胎,

比如回国工作,

再继续读个书,etc。

当只有一个确定的目标,

一切都别的简单与坚定。

2. 清单和资源

8月底,

已经毕业快3个月了,

还没找到工作,

觉得公司该面的都面了,

其实不然。

我花了两个小时,

把我所有想面还没面的公司列了出来,

一共25家;

我一一找资源,

看自己有没有人认识的人可以refer,

如果没有,

就去各大中文社区有没有可以refer的,

结果22家都被refer。

3. 结盟

找到身边一起招工作且态度积极的战友,

一起努力。

第四,心态

1.自信

当刷了那么多遍题,

做了那么多储备,

build出自己的作品,

自信便会出来,

突然某一天,

一个声音告诉自己,

I am ready.

2. 信念

其实欲望有多大,

信念就有多强。

还可以通过meditation,

天天幻想自己拿到offer的场景。

3. 越败越战

不断磨练自己的面试技巧

发现知识漏洞,及时补救

第五,面试技巧

介绍自己的background

精心准备自己的education background,

和自己所做的projects,

对着镜子自己演练熟了,

也可以找朋友做Mock interview.

准备3个问题

一定要问,

让牠们感受到你的兴趣和热忱。

微笑

从踏进公司大楼Onsite的时候,

就告诉自己时刻微笑,

一切问题都会解决。

最后,

希望大家都能找到心仪的工作。

如果需要refer Google,

可以发邮件给我,

grefermit AT gmail dot com

转载: 8个月从CS菜鸟到拿到Google Offer的经历+内推的更多相关文章

  1. 8个月从CS菜鸟到拿到Google Offer的经历+内推

    http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=77453&page=1&authorid=10377 ...

  2. 本科非cs菜鸟计算机面试实录

    两年制小硕,本硕期间差不多都打酱油的.本科非cs专业,硕士cs,编程基础一般,专业基础尚可.研究生期间分析分析了pgsql数据库的源码:同时实验室一些杂项目:自己业余为了应试读了些计算机书.自己当时q ...

  3. 2015年3月阿里内推(c++研发)实习生电面经历

    2015年3月开学开始就听说阿里会有内推,果不其然在师兄的引荐下推了菜鸟网络,但是在学校的BBS上看到了阿里云部门,而且要会C++,这使我更感兴趣,重新选择了方向,当然最后选择了阿里云.在此分享一下三 ...

  4. 【转载】国内网站博客数据统计选免费Google Analytics还是百度统计

    [转载]国内网站博客数据统计选免费Google Analytics还是百度统计 Google Analytics谷歌统计是我用的第一个网站统计工具,当然现在也一直在用.Google Analytics ...

  5. 【转载】 如何看待 2019 年 CS PhD 现扎堆申请且大部分为 AI 方向?未来几年 AI 泡沫会破裂吗?

    原贴地址: https://www.zhihu.com/question/316135639 作为一个 AI 方向的在读博士生,实在是过的蛮闹心,无意中逛知乎发现了这个帖子,发现很适合现在的自己,于是 ...

  6. 【转载】Node.js 教程(菜鸟教程系列)

    很好的一篇教程:Node.js 教程 简单做下笔记 概述 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Chrome JavaScript 运行时建立 ...

  7. 封闭的一个多月,老菜鸟的 机械手和AGV 自动搬运小项目总结

    最近上海疫情严重,闲赋在家无事可做,手机里不断的推送一些无脑的谩骂声音,索性找点事情做,将3月份实施的一个自动搬运小项目做一个简单的汇总,便于今后项目实施中积累一些经验.项目需求非常简单,因为能力有限 ...

  8. 2017年05月10日记一次微项目投产 | 安卓版微信内置浏览器不能解析gzip压缩过的mp4视频的问题

    前言 今天投产了一个小项目,一个很简单的H5,有播放视频功能,使用了videojs插件. 之前也做过数个视频播放,视频的转压都按照既定流程进行,文件放到FTP后,iphone和安卓机测试下来都没有问题 ...

  9. Google Offer的经历+内推

    8个月从CS菜鸟到拿到Google Offer的经历+内推 http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=77453 ...

随机推荐

  1. 一个简单的knockout.js 和easyui的绑定

    <!DOCTYPE html><html><head><meta charset="UTF-8"><title>Basi ...

  2. C-从源文件到可执行文件的详细编译链接过程

    一直用windows一键搞定, 没有去了解详细的编译链接过程, 今天看了一篇文章, 顺便实验和记录在Linux下逐步生成的步骤. 预处理: 执行#include, #define, #if, #ifd ...

  3. HDUOJ---------(1045)Fire Net

    Fire Net Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S ...

  4. js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)

    在前端开发工作中,由于浏览器兼容性等问题,我们会经常用到“停止事件冒泡”和“阻止浏览器默认行为”. 1..停止事件冒泡 JavaScript代码 //如果提供了事件对象,则这是一个非IE浏览器if ( ...

  5. 利用HttpWebRequest模拟表单提交 JQuery 的一个轻量级 Guid 字符串拓展插件. 轻量级Config文件AppSettings节点编辑帮助类

    利用HttpWebRequest模拟表单提交   1 using System; 2 using System.Collections.Specialized; 3 using System.IO; ...

  6. fork函数相关总结

    fork的作用是根据一个现有的进程复制出一个新进程,原来的进程称为父进程(Parent Process),新进程称为子进程(Child Process).系统中同时运行着很多进程,这些进程都是从最初只 ...

  7. 计算机硬盘大小转换(B,KB,MB,GB,TB,PB之间的大小转换)

    程序猿都非常懒.你懂的! java程序猿在实际的开发中会遇到非常多的单位换算问题.今天我给大家带来的是关于计算机硬盘大小的换算.多数情况下.一般要求b,kb,mb,gb,tb,pb之间的大小转换,我们 ...

  8. Cocos2d-X开发中国象棋《二》project文件概述

    我在上一篇博客中介绍了象棋的功能.在接下来的博客中将向大家介绍使用Cocos2d-X怎样一步一步开发中国象棋 开发工具: Cocos2d-X2.2.3 VS2012 项目的文件夹: Classes:存 ...

  9. Hspice仿真打印某个子模块中所有信号信息

    简单的说就是在你要打印的子模块中加一句:.probe v(*) i(*)就可以了,这个子模块的每一个实例都会被打印出来.

  10. bs-web项目时会经常打断点跟踪信息,可是循环时总是F10、F10的按,那么把所数据打印出来查看会更方便

    bs-web项目时会经常打断点跟踪信息,可是循环时总是F10.F10的按,那么把所数据打印出来查看会更方便 一.打断点的方式适合在有错误产生的时候用很好用. 二.可是在分析数据时不直观,得一个一个循环 ...