?

2019高考编程卷:谷歌面试编程题及解题技巧(M如意彩票pk10计划一期版)

想要去谷歌、Facebook、苹果这样的公司工作吗?很多时候它们的面试会让人望而却步。不用害怕,我们已经掌握了它们的常规面试题。近日,麻省理工学院(M如意彩票pk10计划一期)计算机科学和人工智能实验室(CSAIL)的新版「程序员面试课程」资料已被公开。无论你是初级程序员还是经验丰富的专家,这门课程都适合你。

课程链接:

本课程重点介绍科技公司在面试时经常出现的计算机科学问题,其中包括时间复杂度、哈希表、二进制树搜索,以及 M如意彩票pk10计划一期「算法设计与分析」(M如意彩票pk10计划一期 6.046)课程中会出现的内容。但是,大部分时间都会专注于你不会在课堂上学到的内容,例如刁钻的按位逻辑和解决问题的技巧。

2019高考编程卷:谷歌面试编程题及解题技巧(M如意彩票pk10计划一期版)

面试锦囊

被问到一个问题时,要和面试官展开对话,让对方知道你在思考。例如,你可能会提供一个较慢或能解决部分问题的方案(让他们知道这个方案并不完美),提到一些关于这个问题的观察结果,或者说一下任何有可能对解决问题有帮助的想法。如果你卡住了,面试官通常会给你点提示。

面试期间,你通常会被要求写一个程序。出于某种原因,面试官通常让人在黑板或纸上写,而不是给你一台电脑。所以,有必要在面试之前练一下在板子上写代码,以备不时之需。

以下是编程面试中的一些注意事项:

这些事要做:

如果对问题有哪里不理解或有歧义,一定要问清楚;

让面试官知道你在想什么;

针对问题提出多个解决方案;

与面试官交流想法(如关于数据结构和算法的想法)

如果你卡住了,不要害怕让他们知道,可以礼貌地寻求提示。

这些事不要做:

不要放弃!放弃对你展示自己的问题解决技巧没有任何帮助;

思考期间不要只是安静地坐在那里。面试官要在有限的时间内尽可能多地了解你,不和他们交流无法向他们传递任何信息;

如果你已经知道问题的答案,不要脱口而出!不然他们会觉得你提前看过这个问题并记下了答案。至少要在给出答案之前假装思考一阵儿。

2019高考编程卷:谷歌面试编程题及解题技巧(M如意彩票pk10计划一期版)

好了,如果你对自己的备考情况很有信心,以下是其中的一些经典问题:

问题 1:硬币难题

假设你有 8 枚大小相同的硬币,但其中 1 枚硬币要比其他 7 枚稍重一点(但你不知道具体是哪一枚)。同时,你还有一个老式天平可以称重,从而得出哪枚硬币稍重(或是否重量相同)。那么,最少要称多少次才能找出那枚稍轻的硬币?

优秀答案:从 8 枚硬币中取出 6 枚,天平左右盘各放 3 枚。结果会出现三种情况:天平左盘 3 枚硬币重于右盘,则较重的 1 枚在左盘;天平右盘的 3 枚硬币重于左盘,则较重的 1 枚在右盘;天平左右盘重量相等,则称剩下的 2 枚硬币,得出稍重的这枚硬币。

不太好的答案:分别取 4 枚硬币放置于天平左右盘,找出较轻的一组(4 枚),将该组硬币继续分为两组放入天平左右盘,找出较轻的一组(2 枚),再次重复此步骤找到最轻的一枚。

问题 2:在数组中进行查找

给定一个已排序的整数数组,如何找出特定整数 x 的位置?

优秀答案:使用二分搜索法。将数组中间的数字与 x 进行比较。如果相同,则找出了 x。如果数组中的数字较大,则需要查看数组后半部分。如果数字较小,则需要查看数组前半部分。通过比较数组中间元素和 x,我们可以重复搜索该数组的前后部分,从而再次将搜索范围缩小 2 倍。我们重复这一过程直至找出 x。这种算法花费的时间为 O(log n)。

不太好的答案:按顺序查看数组的每个数字,与 x 进行比较。这种算法花费的时间为 O(n)。

问题 3:A to I

编写一个函数将字符串转换为整数(这个函数被称为 A to I 或者 atoi()),因为我们要将一个 ASCII 字符串转换为整数。

优秀答案:从头到尾查看整个字符串。如果首个字符为负号,记下来。从 0 开始进行累计求和。每得到一个新数字,总数乘以 10 并加上这个新数字。当计算结束时,返回当前总数,或者如果出现负号,返回该数字的倒数。

凑合的答案:另一种方法也是从头到尾查看整个字符串,再次进行累计求和。记住表示当前你所在数字的数字 x,x 最开始为 1。针对每个字符,将当前数字乘以 x 并添加到累计总数中,同时将 x 乘以 10。当你到达字符串起点时,返回当前总数,或者如果出现负号,返回该数字的倒数。

相关推荐
新闻聚焦
猜你喜欢
热门推荐
  • 微软AI面试题有多难?这里有一份样卷

      究竟什么样的AI人才能被微软这样的巨头聘用呢?今天,文摘君就淘来了几道微软AI 面试题,同时给出了最基本的解答......

    06-25????来源:澎湃新闻网

    分享
  • 全球最聪明的大脑怎么看AI?他们预测了

      2017年AI领域取得了诸多成果。2018年AI又将何去何从?以下是来自世界顶级研究人员和行业领军人物对2018年AI领域发展作......

    02-20????来源:虎嗅网

    分享
  • 2017JavaScript框架战报 - React分战场

      我们来看看与React有关的软件包的生态系统。当Facebook构建React时,就有许多来自开源社区的第三方软件包。为提供完......

    02-27????来源:湖北新闻网

    分享
  • 小白学数据:教你用Python实现简单监督学

      监督学习作为运用最广泛的机器学习方法,一直以来都是从数据挖掘信息的重要手段。即便是在无监督学习兴起的近......

    03-05????来源:今日头条

    分享
  • 现代编程语言Swift、Kotlin等十大有趣功能

      最近学习了一些现代编程语言,比如Reason,Swift,Kotlin和Dart。这些编程语言提供了许多新功能,本文主要分享了我认......

    04-29????来源:祁东新闻网

    分享
  • 领域场景分析的6W模型

      组成场景的要素常常被称之为6W模型,即描写场景的过程必须包含Who,What,Why,Where,When与hoW这六个要素。......

    04-30????来源:砍柴网

    分享
  • 开源应用服务器WildFly 12发新季度交付模式

      WildFly 12 Final版本现在已经可以下载了,WildFly是一款灵活的开源应用服务器,支持开发人员构建轻量级应用程序。支持......

    05-10????来源:青岛新闻网

    分享
  • 基于Spring Cloud的微服务落地

      微服务架构模式的核心在于如何识别服务的边界,设计出合理的微服务。但如果要将微服务架构运用到生产项目上,......

    06-04????来源:广西新闻网

    分享
  • 为什么阿里工程师纷纷在内网晒代码?

      前阵子,在阿里一个小黑屋里,5名对代码有着极致追求的工程师参与阿里代码领域最高荣誉“多隆奖”的最终角逐。......

    06-08????来源:四川新闻网

    分享
  • 超级大汇总!200多个最好的机器学习、

      我把这篇文章分为了四个部分:机器学习,自然语言处理,python和数学。在每个部分中我都列举了一些主题,但是因......

    09-25????来源:洛阳新闻网

    分享
返回列表
Ctrl+D?将本页面保存为书签,全面了解最新资讯,方便快捷。