📜  如何准备Google Kickstart – CodeJam竞赛?

📅  最后修改于: 2021-05-19 19:50:40             🧑  作者: Mango

Google Kickstart(以前称为APAC)是一项旨在招募在Google寻找职业的人的测试。以前的形式和Kickstart之间的主要区别在于,测试轮次将比以前多,并且针对的是任何年龄段的人,而不是应届毕业生。

该测试旨在吸引亚太地区的顶尖人才,主要侧重于解决问题的能力,数据结构和算法。为Kickstart做准备需要熟悉其判断环境,因为它与其他问题大不相同。

格式

  • Google工程师将设计六轮在线算法测验
  • 每个回合的顶尖参与者均可受邀参加Google的面试
  • 比赛时间表
  • 比赛常见问题
  • 注册链接

熟悉评审环境

  • 如果已获得许可,则可以使用任何编程语言或IDE。
  • 判断环境完全不同,您不仅需要上传代码,还需要上传输出文本文件。
  • 竞争领域包含有待解决的问题。
  • 对于任何单个问题,都有2个子部分
  • 小输入,约束小。
  • 具有较大约束的大输入。

如果您已编码问题并希望以小输入形式提交问题,请下载文本文件,下载该文件后,计时器会立即开始4分钟的计时,您必须在代码上运行输入内容,然后将文本文件上传到时限。
您将立即知道您提交的内容是否正确。
如果提交的内容超过1个,则将考虑首先获取最大分数(大小不一)的提交内容,并对错误提交内容处以罚款。每次下载文件时,都会生成一组新的测试文件。

提交大型输入时,将启动8分钟的计时器,您必须在时限内提交代码和输出文件以及它,但是在这种情况下,与小型输入相反,输出文件将保持不变。

要熟悉环境,请观看此官方视频教程。

准备策略

Google的启动活动着重于熟练掌握数据结构和算法,为此做准备不是一件容易的事,但肯定是一件令人愉快的事。写这篇文章的前提是读者具有一定的编程经验,因为只有这样他/她才打算从事职业。

复习基础知识:解决各种中等难度的问题,以便您掌握重要的小技巧和调整。这也将提高您的效率,准确性和速度。

  • 在CodeJam练习以前的竞赛问题
  • 在GeeksforGeeks练习
  • 在Codechef实习

从这里解决许多问题将建立您的基础

要学习什么?

a)学习数论

  • 实践数论问题
  • 学习解决问题的技巧
  • 数论的重要课题– Quora

b)贪婪算法:  尽管很少询问贪婪的问题,但它们很重要,因为它们为各种算法奠定了基础。参考此以发现贪婪算法问题。

c)二进制搜索:在解决问题和重复提出基于问题的问题时,这是一个非常重要的工具。好文章要阅读:

  • 二进制搜索– TopCoder
  • 二进制搜索– GeeksforGeeks
  • 无所不在的二进制搜索

d)图形 Google kickstart是一个简单的测试,因此可以从图形中询问基本中等水平的问题。根据DFS,BFS,Dijkstra,Flloyd Warshall,MST和流量问题练习问题。
图上的练习题

e)动态编程:尽管可以从DP领域设计各种问题,但是可以预测相当容易的中等问题。大量练习DP,并阅读:

  • 动态编程– GeeksforGeeks
  • 动态编程– Codechef

f)分而治之本主题还有助于解决KickStart中的问题。

g)更多高级主题:
尽管很少询问高级数据结构中的问题,但请阅读有关Trie,BIT树,BST的文章。另请阅读:-

  • 散列
  • 位算法
  • 字符串算法(Rabin Karp,KMP,Aho-Crosaick)

额外的指针

  1. Google Kickstart着眼于速度和准确性,专注于您的速度,而不是解决非常棘手的问题,并尽可能地解决中等难度的问题。
  2. 熟悉Big-O表示法和计算时间的计算。
  3. 开始事先做准备,如果您在第一轮中表现不佳,也不要失去希望,第一轮之后还有5轮。
  4. 出色的表现可以让您致电Google进行面试。
  5. 力争在前几个APAC测试(A,B或C)中达到100。这将增加您进入面试候选名单的机会。

祝一切顺利!!