直接拿来用!GitHub 标星 8W,学完它就可以去 Google 面试了!

原文链接:https://mp.csdn.net/postedit/97990624

640?wx_fmt=gif

640?wx_fmt=jpeg

作者 | GitHubDaily

责编 | 郭芮

如果让你选择一家互联网科技公司加入,你会选择哪一家?

具体答案因人而异,不过我相信,作为目前全球最为知名的互联网公司,Google 一定名列其上。

自 1996 年诞生以来,Google 至今已推出多款改变世界的互联网产品,旗下也汇聚了一大批优质的工程师与科学家。与此同时,因其崇尚自由开放,不作恶的互联网理念,也受到了许多互联网优秀人才的认可,Google 也成为了他们最想去的互联网企业之一。

来自西雅图的工程师 John Washam 便是其中一员。

 

640?wx_fmt=png

谁是 John Washam?

 

John Washam 是一名软件工程师,目前定居于美国西雅图。2016 时,因其在 GitHub 上发布了一个名为「Google 面试大学」的项目而名声大噪,引发技术圈内诸多人的关注。

640?wx_fmt=jpeg

John 在中学时代便开始接触编程,后面上大学的时候,主修的确是经济学专业。原因是他认为在他大学毕业后,计算机专业的人才将会供过于求。后面事实证明,他错了。

几年后,John 毕业,他选择了参军,军队驻扎于韩国,因此他自学了两年韩语。

从军队退伍后,他又开始重拾编程,经过一年的学习,他掌握了 Perl、HTML、CSS、JavaScript 和 SQL 等相关知识,这些知识让他成功在西雅图找到了一份编程相关的工作。

随后 15 年,John 一直在 Web 开发领域深耕,期间创立了 3 家公司,当中有 2 家还成功盈利了。在这个过程中,他还掌握了团队管理、市场营销等其它非计算机专业的基础知识,使其成为不折不扣的全栈工程师。

640?wx_fmt=jpeg

正常情况下,普通人能走到这一步,已经算是人生赢家了。但是,John 并不满足于此,他想完成另一个新身份转变:从 Web 工程师变为软件工程师。

许多人看到这里,估计会心里犯嘀咕,这两个岗位区别有那么大吗?但 John 认为,相较于前者,后者需要掌握数据结构、算法、编译语言、内存优化等更深层次的编程知识。

之后,John 便开始投入精力学习,并将进入 Google 工作视为其成功掌握这项技能的判定标准。

在学习的过程中,他开始接触大量与编程相关的知识与教学资源,秉着前人栽树后人乘凉的精神,John 在 GitHub 上开源了这份学习指南,并将其命名为「Google Interview University」(现已更名「Coding Interview University」)。

640?wx_fmt=png

https://github.com/jwasham/coding-interview-university

 

640?wx_fmt=png

谷歌面试大学

 

在 John 放出这个项目后没几天,GitHub Star 便如火箭般快速飙升,短短三四天内便突破 10000 Star,成功霸榜 GitHub Trending!

项目历史增长曲线:

640?wx_fmt=jpeg

这份指南里面包含 Google 相关的介绍视频、面试过程、教学资源,同时也有数据结构、算法、密码学等计算机专业的知识讲解。

掘金翻译团队为了便于国内开发者查看,已将该指南译为中文。

  • https://github.com/jwasham/coding-interview-university/blob/master/translations/README-cn.md

不过由于这份译文未跟原文保持同步更新,因此内容难免会有缺失。英文阅读能力尚可的同学,还是建议直接看 README 原文。

下面我简单挑选了几张项目截图,让大家感受一下这份资料里面都有什么干货:

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

可以看到,这份指南资料整理得还是非常齐全的。

尽管 John 最后没去成谷歌(去了亚马逊),但他留下的这份指南,还是让诸多后来者受益无穷,在此也对作者表示下感谢。

如果你也有一颗想进入大企工作的心,不妨开始照着这份指南学起来吧!

声明:本文为作者投稿,首发公众号「GitHubDaily」,版权归其所有。

Python入门到进阶最新思维导图分享

https://edu.csdn.net/topic/python115?utm_source=csdn_bw

【END】

640?wx_fmt=jpeg

 热 文 推 荐 

GitHub 断供危机来了!权威解读程序员应对指南 | CSDN 独家

物联网神话破灭?

☞华为否认鸿蒙为噱头;谷歌公布 6 大 iOS 漏洞;GitLab 又发安全补丁 | 极客头条

三次创业,三次跨界,这次凭十万行核心 C 代码登上 GitHub Top 1!

64%的投资者对比特币不感兴趣,那是谁投资了比特币?

时代在召唤5G

☞福利!中科院自动化所陈玉博详解事件抽取与事件图谱构建

认知智能的突围:NLP、知识图谱是AI下一个“掘金地”?

为什么雷军说“华为不懂研发”?

640?wx_fmt=png你点的每个“在看”,我都认真当成了喜欢

展开阅读全文

刚才去中软面试了!

06-17

本人非计算机专业。应届毕业生,,前几天刚毕业正在找工作,刚才上午去中软面试了,大家帮我参谋参谋。面试官问了我个问题,父类和子类的关系是啥,我说继承。说完感觉好像说太少了,然后就补充了,公有继承的时候,子类能使用父类的公有接口什么的。感觉还好,然后聊了聊其他方面的。。然后人让我纸上写代码!只在人家口中听过的事情在我身上发生了,有点紧张[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/7.gif][/img]。在一个字符串中删除出现次数最多的字符。刚开始听着有点蒙,,我说让我想会儿。。过了半分钟看我没啥动静,,面试官说,如果觉得难的话写个冒泡排序吧,,,我当即就感觉情况不妙了啊[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/1.gif][/img]。冒泡很快的写了出来,一遍写还一遍在想之前那个题怎么写,,,然后突然灵机一动想到方法了。。。先把字符串排序,然后遍历,统计每个相同字符出现的次数,记录每一组相同字符出现的第一字符的迭代器和具体字符,然后如果统计次数大于max,就一溜替换掉。突然就写出来了,虽然纸上写的很乱,,但是通过自己的说明,,算是让面试官理解了。。。但是我回家之后想了想,发现不对!因为排序把原来的字符串顺序改掉了,在冷静的情况,我自己又分析了下,,做了改进,并上机实地操作,并成功!rn[code=c]# include rn# include rn# include rnusing namespace std;rnrnint main(void)rnrn string s = "acabadddddd";rn string t(s);rn sort(s.begin(), s.end());rn char tempc = '\0', maxc;rn string::size_type count = 0, max = 0;rn string::iterator tempit = s.begin(), maxit;rn for (string::iterator it = s.begin(); it != s.end(); ++it)rn rn if (*it != tempc)rn rn if (count > max)rn rn max = count;rn maxit = tempit;rn maxc = tempc;rn rn count = 1;rn tempit = it;rn tempc = *it;rn rn elsern count++;rn rn if (count > max)//最后一组迭代完之后需要在循环外判断rn rn max = count;rn maxit = tempit;rn maxc = tempc;rn rn rnrn s.erase(maxit, maxit + max);rn string::iterator i = t.begin(), ti;rn while ((ti = find(i, t.end(), maxc)) != t.end())rn rn i = t.erase(ti);rn rnrn cout << s << endl;rn cout << t << endl;rnrn return 0;rn[/code]rn感觉自己还行啊-。- 虽然我深知自己水平依然很菜!好了,言归正传。问题来了,虽然面试官对我的表现觉得还可以!但是他说我不会数据库,不会linux,技能还有所欠缺,,所以我来此撒分了!求推荐学习linux和oracle的书籍。。。。。。。 论坛

没有更多推荐了,返回首页