阿里巴巴客服面试题及答案
面试要通过层层考验,刷题肯定是必不可少的。这一次面试题,不仅是知识的收获,还将间接地与技术大牛们做了直观的沟通,了解他们的出题思路与考察要点,并加以消化吸收。
这对自己技术能力本身就是一种极大的提升。走上编程之路,不断丰富自己方能与世接轨,努力做最优秀的自己。
面试题001:如何实现一个高效的单向链表逆序输出?
参考答案
下面是其中一种写法,也可以有不同的写法,比如递归等。
面试题002:已知sqrt (2)约等于1.414,要求不用数学库,求sqrt (2)精确到小数点后10位。
考察点
1. 基础算法的灵活应用能力(二分法学过数据结构的同学都知道,但不一定往这个方向考虑;如果学过数值计算的同学,应该还要能想到牛顿迭代法并解释清楚)。
属性与生活2破解版下载2.退出条件设计。
参考答案
1. 已知sqrt(2)约等于1.414,那么就可以在(1.4, 1.5)区间做二分查,如:
a.high=>1.5
b.low=>1.4
c.mid => (high+low)/2=1.45
d.1.45*1.45>2 ? high=>1.45 : low => 1.45
e.循环到c
python3 django教程2. 退出条件
前后两次的差值的绝对值<=0.0000000001, 则可退出。
代码示例:
面试题003:给定一个二叉搜索树(BST),到树中第K小的节点。
考察点
1. 基础数据结构的理解和编码能力
2. 递归使用
示例
如下图,输入K=3, 输出节点值3
说明:保证输入的K满足1<=K<=(节点数目)
参考答案
树相关的题目,第一眼就想到递归求解,左右子树分别遍历。联想到二叉搜索树的性质,root大于左子树,小于右子树,如果左子树的节点数目等于K-1,那么root就是结果,否则如果左子树节点数目小于K-1,那么结果必然在右子树,否则就在左子树。因此在搜索的时候同时返回节点数目,跟K做对比,就能得出结果了。
复杂度分析:
时间复杂度: O(N),节点最多遍历一遍
空间复杂度:O(1),(如果算上递归深度可以当做O(logN))
面试题004:LRU缓存机制。
设计和实现一个LRU(最近最少使用)缓存数据结构,使它应该支持一下操作:get和put。 get(key) - 如果key存在于缓存中,则获取key的value(总是正数),否则返回 -1。
put(key,value) - 如果key不存在,请设置或插入value。当缓存达到其容量时,它应该在插入新项目之前使最近最少使用的项目作废。
参考答案
代码示例:
《 Python版本 》
面试题005:关于epoll和select的区别,哪些说法是正确的?(多选)
A. epoll和select都是I/O多路复用的技术,都可以实现同时监听多个I/O事件的状态。
B. epoll相比select效率更高,主要是基于其操作系统支持的I/O事件通知机制,而select是基于轮询机制。
C. epoll支持水平触发和边沿触发两种模式。
D. select能并行支持I/O比较小,且无法修改。
参考答案 A . B . C
面试题006:从innodb的索引结构分析,为什么索引的key长度不能太长?
参考答案
key太长会导致一个页当中能够存放的key的数目变少,间接导致索引树的页数目变多,索引层次增加,从而影响整体查询变更的效率。
面试题007:MySQL的数据如何恢复到任意时间点?
参考答案
恢复到任意时间点以定时的做全量备份,以及备份增量的binlog日志为前提。恢复到任意时间点首先将全量备份恢复之后,再此基础上回放增加的binlog直至指定的时间点。
面试题008:NFS和SMB是最常见的两种NAS(Network Attached Storage)协议,当把一个文件系统同时通过NFS和SMB协议共享给多个主机访问时,以下哪些说法是错误的:(多选)
A. 不可能有这样的操作,即把一个文件系统同时通过NFS和SMB协议共享给多个主机访问。
B. 主机a的用户通过NFS协议创建的文件或者目录,另一个主机b的用户不能通过SMB协议将其删除。
C. 在同一个目录下,主机a通过NFS协议看到文件,主机b通过SMB协议也看到文件,那么它们是同一个文件。
D. 主机a通过NFS协议,以及主机b通过SMB协议,都可以通过主机端的数据缓存,提升文件访问性能。
参考答案 A . B . C
面试题009:输入ping IP后敲回车,发包前会发生什么?
参考答案 易语言下载图片
首先根据目的IP和路由表决定走哪个网卡,再根据网卡的子网掩码地址判断目的IP是否在子网内。如果不在则会通过arp缓存查询IP的网卡地址,不存在的话会通过广播询问目的IP的mac地址,得到后就开始发包了,同时mac地址也会被arp缓存起来。
面试题010:请解释下为什么鹿晗发布恋情的时候,微博系统会崩溃,如何解决?
参考答案 《 参考思路 》
A. 获取微博通过pull方式还是push方式
B. 发布微博的频率要远小于阅读微博
perl正则表达式匹配中文C. 流量明星的发微博,和普通博主要区分对待,比如在sharding的时候,也要考虑这个因素
面试题011:现有一批邮件需要发送给订阅顾客,且有一个集(集的节点数不定,会动态扩容缩容)来负责具体的邮件发送任务,如何让系统尽快地完成发送?请详述技术方案!
参考答案
server 2019mysql面试题常问A. 借助消息中间件,通过发布者订阅者模式来进行任务分配
B. master-slave部署,由master来分配任务
C. 不借助任何中间件,且所有节点均等。通过数据库的update returning,从而实现节点之间任务的互斥
面试题012:有一批气象观测站,现需要获取这些站点的观测数据,并存储到Hive中。但是气象局只提供了api查询,每次只能查询单个观测点。那么如果能够方便快速地获取到所有的观测点的数据?
参考答案
A. 通过shell或python等调用api,结果先暂存本地,最后将本地文件上传到Hive中。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论