热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

阿里开发者招聘节|面试题0204:给定一个二叉搜索树(BST),找到树中第K小的节点...

2019独角兽企业重金招聘Python工程师标准为帮助开发者们提升面试技能、有机会入职阿里,云栖社区特别制作了这个专辑——阿里巴巴资深技术专家们结合多年的工作、

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

为帮助开发者们提升面试技能、有机会入职阿里,云栖社区特别制作了这个专辑——阿里巴巴资深技术专家们结合多年的工作、面试经验总结提炼而成的面试真题这一次将陆续放出(面试题官方参考答案将在专辑结束后统一汇总分享,点此进入答题并围观他人答案)。并通过这些笔试真题开放阿里巴巴工作机会,让更多的开发者加入到阿里这个大平台。

这一次,不仅是知识的收获,还将间接地与技术大牛们做了直观的沟通,了解他们的出题思路与考察要点,并加以消化吸收,这对自己技术能力本身就是一种极大的提升。走上编程之路,不断丰富自己方能与世接轨,努力做最优秀的自己。

4月25日,我们给开发者的第2~4道面试题。

02.已知sqrt(2)约等于1.414,要求不用数学库,求sqrt(2)精确到小数点后10位

考察点:

  1. 基础算法的灵活应用能力(二分法学过数据结构的同学都知道,但不一定往这个方向考虑;如果
    学过数值计算的同学,应该还要能想到牛顿迭代法并解释清楚)
  2. 退出条件设计

03. 给定一个二叉搜索树(BST),找到树中第K小的节点

考察点:

  1. 基础数据结构的理解和编码能力
  2. 递归使用

示例
如下图,输入K=3, 输出节点值3

f8696e94d866dc749d05f118e38f7f155e3.jpg

说明
保证输入的K满足1<&#61;K<&#61;(节点数目&#xff09;

04.LRU缓存机制

设计和实现一个 LRU&#xff08;最近最少使用&#xff09;缓存 数据结构&#xff0c;使它应该支持以下操作&#xff1a; get 和 put 。
get(key) ‑ 如果key存在于缓存中&#xff0c;则获取key的value&#xff08;总是正数&#xff09;&#xff0c;否则返回 ‑1。 put(key,
value) ‑ 如果key不存在&#xff0c;请设置或插入value。当缓存达到其容量时&#xff0c;它应该在插入新项目之前使
最近最少使用的项目作废。

案例&#xff1a;
LRUCache cache &#61; new LRUCache( 2 / 容量 / );

cache.put(1, 1);
cache.put(2, 2);
cache.get(1); // 返回 1
cache.put(3, 3); // 该操作&#xff0c;会将 key 2 作废
cache.get(2); // 返回 ‑1 (结果不存在)
cache.put(4, 4); // 该操作&#xff0c;会将 key 1 作废
cache.get(1); // 返回 ‑1 (结果不存在)
cache.get(3); // 返回 3
cache.get(4); // 返回 4

测试用例&#xff1a; s &#61; [["put","put","get","put","get","put","get","get","get"],[[1,1],[2,2],[1],[3,3],[2],
[4,4],[1],[3],[4]]]

考察点&#xff1a;
对LRU实现的基本原理和数据结构的理解。

阿里巴巴出题专家&#xff1a;文景

阿里云CDN资深技术专家&#xff0c;浙大硕士&#xff0c;在高性能服务端产品开发、稳定性、服务质量优化及成本优化等各项功能都有10年以上的经验。在网易杭州研究院负责底层开源软件研发&#xff0c;国内最早核心Nginx研发人员之一&#xff0c;曾任tengine研发负责人&#xff0c;热衷于参与开源项目。
现在是CDN技术负责人&#xff0c;连续7年服务双11&#xff0c;保障整个阿里集团95%以上的流量分发稳定性。从2014年开始&#xff0c;从0到1构建阿里云CDN的商业化基础设施&#xff0c;包括点播、直播、动态、安全加速等各项产品线&#xff0c;阿里云CDN现在是中国用户数最多的CDN、也是国内规模最大的CDN。正在将CDN打造成互联网的基础设施&#xff0c;为全球用户提供接入、加速、安全的稳定服务。

招聘职位&#xff1a;点此进入查看CDN大量职位并投递简历


4月24日&#xff0c;我们给开发者的第1道面试题。

01. 如何实现一个高效的单向链表逆序输出&#xff1f;

阿里巴巴出题专家&#xff1a;昀龙

阿里云弹性人工智能负责人
&#xff0c;带领团队研发了同时支持Tensorflow、MXNET、PyTorch、Caffe的Perseus加速框架&#xff0c;曾获得Dawnbench推理世界竞赛的性能第一和成本最低双料冠军。曾任阿里云弹性高性能计算、超级计算集群技术架构师&#xff0c;获得过多项专利&#xff0c;拥有10年以上AI技术研发和高性能优化经验。精通针对CPU、GPU、MIC等微架构的计算性能优化以及网络、存储等系统性能优化。曾在英特尔SSG部门工作&#xff0c;并获得过英特尔中国最高成就奖&#xff08;ICA&#xff09;。
当人工智能遇上云计算&#xff0c;未来不可限量&#xff0c;欢迎加入阿里云弹性人工智能团队。


原文链接
本文为云栖社区原创内容&#xff0c;未经允许不得转载。


转载于:https://my.oschina.net/u/1464083/blog/3042704


推荐阅读
  • 本文深入探讨了Linux内核中进程地址空间的设计与实现,包括虚拟地址空间的概念、内存描述符`mm_struct`的作用、内核线程与用户进程的区别、进程地址空间的分配方法、虚拟内存区域(VMA)的结构以及地址空间与页表之间的映射机制。 ... [详细]
  • 本文介绍了如何使用 Python 的 Pyglet 库加载并显示图像。Pyglet 是一个用于开发图形用户界面应用的强大工具,特别适用于游戏和多媒体项目。 ... [详细]
  • Quick BI是一款专为云计算环境设计的高级数据分析与可视化解决方案,旨在帮助企业和组织实现从传统数据处理模式到现代云端数据管理的无缝过渡。本文将深入探讨Quick BI在数据可视化方面的独特功能及其发展历程。 ... [详细]
  • Fiddler 安装与配置指南
    本文详细介绍了Fiddler的安装步骤及配置方法,旨在帮助用户顺利抓取用户Token。文章还涵盖了一些常见问题的解决方案,以确保安装过程顺利。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • MySQL InnoDB 存储引擎索引机制详解
    本文深入探讨了MySQL InnoDB存储引擎中的索引技术,包括索引的基本概念、数据结构与算法、B+树的特性及其在数据库中的应用,以及索引优化策略。 ... [详细]
  • 如何将955万数据表的17秒SQL查询优化至300毫秒
    本文详细介绍了通过优化SQL查询策略,成功将一张包含955万条记录的财务流水表的查询时间从17秒缩短至300毫秒的方法。文章不仅提供了具体的SQL优化技巧,还深入探讨了背后的数据库原理。 ... [详细]
  • 入门指南:使用FastRPC技术连接Qualcomm Hexagon DSP
    本文旨在为初学者提供关于如何使用FastRPC技术连接Qualcomm Hexagon DSP的基础知识。FastRPC技术允许开发者在本地客户端实现远程调用,从而简化Hexagon DSP的开发和调试过程。 ... [详细]
  • Python 领跑!2019年2月编程语言排名更新
    根据最新的编程语言流行指数(PYPL)排行榜,Python 在2019年2月的份额达到了26.42%,稳坐榜首位置。 ... [详细]
  • 本文详细介绍了如何利用 Bootstrap Table 实现数据展示与操作,包括数据加载、表格配置及前后端交互等关键步骤。 ... [详细]
  • 本文探讨了Linux环境下线程私有数据(Thread-Specific Data, TSD)的概念及其重要性,介绍了如何通过TSD技术避免多线程间全局变量冲突的问题,并提供了具体的实现方法和示例代码。 ... [详细]
  • 汇总了2023年7月7日最新的网络安全新闻和技术更新,包括最新的漏洞披露、工具发布及安全事件。 ... [详细]
  • 尽管在WPF中工作了一段时间,但在菜单控件的样式设置上遇到了一些基础问题,特别是关于如何正确配置前景色和背景色。 ... [详细]
  • 利用Node.js实现PSD文件的高效切图
    本文介绍了如何通过Node.js及其psd2json模块,快速实现PSD文件的自动化切图过程,以适应项目中频繁的界面更新需求。此方法不仅提高了工作效率,还简化了从设计稿到实际应用的转换流程。 ... [详细]
  • 本文详细介绍了如何在最新版本的Xcode中重命名iOS项目,包括项目名称、应用名称及相关的文件夹和配置文件。通过本文,开发者可以轻松完成项目的重命名工作。 ... [详细]
author-avatar
mobiledu2502928403
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有