1. 聚能聊>
  2. 话题详情

阿里开发者招聘节 |面试题02-08:NAS(Network Attached Storage)协议NFS和SMB相关问题

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

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

5月5日,我们给开发者的第8道面试题。

08.NFS和SMB是最常见的两种NAS(Network Attached Storage)协议,当把一个文件系统同时通过NFS和SMB协议共享给多个主机访问时,以下哪些说法是错误的:(多选)
A. 不可能有这样的操作,即把一个文件系统同时通过NFS和SMB协议共享给多个主机访问。
B. 主机a的用户通过NFS协议创建的文件或者目录,另一个主机b的用户不能通过SMB协议将其删除。
C. 在同一个目录下,主机a通过NFS协议看到文件file.txt,主机b通过SMB协议也看到文件file.txt,那么它们是同一个文件。
D. 主机a通过NFS协议,以及主机b通过SMB协议,都可以通过主机端的数据缓存,提升文件访问性能。

阿里巴巴出题专家:起影

阿里云文件存储-高级技术专家,清华大学本科和研究生,电子工程系光电子和光通信专业。毕业后在两家光通信公司(Lucent和Sycamore)进行光网络产品的开发。从2011年开始进入存储行业,加入EMC2公司,主要参与文件系统的开发,六年中,参与了企业级中端产品VNX/Unity多项Block和File的特性开发。
2017年2月加入阿里云文件存储团队,参与基于KV系统的文件系统开发,以及NFS/SMB相关协议开发。

_3

招聘职位:阿里云存储技术专家

4月28日,我们给开发者的第6~7道面试题。

06. 从innodb的索引结构分析,为什么索引的key长度不能太长
07. MySQL的数据如何恢复到任意时间点

阿里巴巴出题专家:近秋

阿里云数据库产品技术部技术专家,有6年的行业从业经验。2016年加入阿里云,目前负责最流行的开源数据库MySQL在阿里云的商业化的工作。

_3

招聘职位:阿里云数据库技术专家


4月26日,我们给开发者的第5道面试题。

05.关于epoll和select的区别,哪些说法是正确的?(多选)
A.
epoll和select都是I/O多路复用的技术,都可以实现同时监听多个I/O事件的状态

B.
epoll相比select效率更高,主要是基于其操作系统支持的I/O事件通知机制,而select是基于轮询机制

C.
epoll支持水平触发和边沿触发两种模式

D.
select能并行支持I/O比较小,且无法修改

阿里巴巴出题专家:寈峰

阿里技术专家,阿里巴巴百年技术大学讲师,Apache RocketMQ Committer,Linux OpenMessaging Advisory Board Member,具有多年分布式消息系统等中间件架构设计及研发经验,对云计算及分布式系统架构有深刻理解。目前负责Apache RocketMQ的研发及社区生态。

_3

招聘职位:阿里云中间件技术专家

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

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

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

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

考察点:

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

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

说明
保证输入的K满足1<=K<=(节点数目)

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

案例:
LRUCache cache = new LRUCache( 2 / 容量 / );

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

测试用例: s = [["put","put","get","put","get","put","get","get","get"],[[1,1],[2,2],[1],[3,3],[2],
[4,4],[1],[3],[4]]]

考察点:
对LRU实现的基本原理和数据结构的理解。

阿里巴巴出题专家:文景

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

_4

招聘职位:点此进入查看CDN大量职位并投递简历

以上几道道面试题你都会吗?快来解答!

围观4月24日的面试题:如何实现一个高效的单向链表逆序输出?

参与话题

奖品区域 活动规则 已 结束

  • 奖品一

    云栖定制电脑包 x 1

  • 奖品二

    运动手环 x 1

  • 奖品三

    福禄寿淘公仔 x 1

29个回答

0

architect_code 复制链接去分享

第二个题目的示例代码不能是 :if (mid * mid < 2) {high = mid} 吧,我感觉应该是

 if (mid * mid > 2) {
      high = mid;
}
0

mollyunfei 复制链接去分享

糟糕,网不好,一下发出去两个,,,还没办法删除

0

mollyunfei 复制链接去分享

1.牛顿迭代
2.中序遍历
感觉没难度呀😂

0

mollyunfei 复制链接去分享

1.牛顿迭代
2.中序遍历
感觉没难度呀😂

0

黄一刀 复制链接去分享

请问老大!我能进阿里云吗?

0

nanasaki 复制链接去分享

有点难度。。容易崩。。额外若群二

0

潇湘烟尘雨 复制链接去分享

很多实际的工程细节问题。

0

游客s3u76nyfsa6nq 复制链接去分享

找工作有点用

0

1497696144556345 复制链接去分享

OMG,我不是贵圈中人啊

0

1601512186507980 复制链接去分享

新人一枚,看不懂

0

游客rcfvkeshdn77o 复制链接去分享

看不懂

0

1201600901423985 复制链接去分享

1

0

1754174981709764 复制链接去分享

感谢各位大神

0

qianjiacun 复制链接去分享

程序员

0

游客c6h52cf6yqnz6 复制链接去分享

怎么用的

0

wsyjlly 复制链接去分享

作为一个前端程序员我觉得你们这个页面写的不是太好,关于你们这些问题,唉!

wsyjlly 回复

其实如果能回答好的话,也都不算简单

wsyjlly 回复

作为一个数据库工程师,俺也不懂,俺也不敢问呐!

评论
0

1927111769727314 复制链接去分享

确定是这个题目?

0

hinsteny 复制链接去分享

首先针对mysql的备份选择时间段间隙性全量快照备份加全时段增量差异日志的方案;
这样在需要恢复到某个时间点时,先选择此时间点前面最近的一次全量备份数据,在此基础上再执行从快照点到指定时间点区间的差异日志,进行精准恢复!

0

koshine 复制链接去分享

进来刷一下积分,你们聊,我不听

0

游客g5exuthcbs3g4 复制链接去分享

虽然看不太懂,不过我来刷积分的

2