阿里巴巴面试经验 您所在的位置:网站首页 阿里巴巴面试题及答案 阿里巴巴面试经验

阿里巴巴面试经验

2024-01-02 23:13| 来源: 网络整理| 查看: 265

面试过程:

4轮技术面+1轮hr面,hr面主要咨询目前有哪些offer,工资地点是否服从调配,以及之前的项目中,如何进行团队合作的,5轮面试都是1对1面试

面试官问的面试题:

阿里巴巴后端工程师面试题

问简历的内容,其实还行。主要环节是,智能指针拷打,一致性哈希拷打,RPC拷打。用过C++11吗?用过知道 unique_ptr 吗?知道,是独占所有权的智能指针怎么实现独占所有权?怎么转移所有权?b = a; 怎么实现?b = move(a); 怎么实现?就是说了移动构造函数/移动赋值运算符的流程知道 shared_ptr 吗?知道,是共享所有权的智能指针怎么实现的共享所有权?引用计数引用计数和管理的内存地址怎么实现的?是同一块内存空间吗?都在堆区make_shared 会放在同一个空间引用计数和管理的内存是相生相依的吗?没搞懂,最后就问了这两个是同时创建的吗?其实不是,传入 new xxx 的构造函数就不是同样问了 shared_ptr 的 b = a; 怎么实现?b = move(a); 怎么实现?同样说了下拷贝构造函数/拷贝赋值运算符、移动构造函数/移动赋值运算符的流程(想问点分布式存储相关的)知道raft吗?只了解是个分布式共识算法,没了解具体内容(论文都没看,我可不敢说我了解了)看我没有相关经历,那就挖一挖简历吧知道一致性哈希吗?顺便提了一嘴自己的RPC实现了这个东西解释一致性哈希是什么,然后开始深挖一致性哈希,怎么减少这种数据的移动,分桶结果改变的然后开始引出虚拟节点互斥锁,信号量使用的场景区别一个线程互斥,另一个线程同步互斥锁,读写锁,自旋锁的区别八股文,只说了自旋锁,就没让继续说了怎么实现自旋锁说了原子操作,test and set指令(tsl)RPC的实现流程?八股文怎么在同一个端口,发布多个服务?就说说自己咋实现的怎么实现的超时?socket设置,recv超时然后开始问重试机制,如果需要我实现应该怎么实现?最大重试次数,计数如果同时发出很多个RPC请求,这个qps上不去,咋办?不知道,想了一会说,也不能总是创建很多个线程吧然后就说可能得用I/O多路复用了RPC调用的同步和异步,和之前说的同步和异步,是一个意思吗?socket的同步阻塞,是收到数据前,一直阻塞,等着这个是在得到调用结果前,是否可以继续做下面的事情那我继续问,如果同一个RPC调用,按照你之前的重试机制实现,如果前一个请求(涉及到写,非幂等,比如文件创建)是成功的(但是做的太久,设置的超时太短,以为超时失败了),后面重试的请求失败了(显示文件已创建),应该怎么解决?想了很久,说同一个请求的数据包都是通过请求id关联的,那么每个请求,都单独开个线程去等(因为重试的次数本就不多),然后请求到的结果,放入哈希表,当然,也放到队列里面通过请求id,索引哈希表,看看有没有最近的成功请求结果,如果有,之后的失败请求,就没必要记录了那么,根据这个实现,如果第一次的请求是响应成功的,但是由于网络原因失败,应该怎么办?不懂了,之后没继续深挖那么就说webserver吧(简历的项目名称不是webserver,不过被一眼看出,老面试官了)。你知道I/O多路复用机制,除了epoll,还有啥吗?select,poll,原理差不多,没让说具体原理ET和LT的区别?八股文ET和LT哪个性能更好?一般认为ET更好,毕竟可以从内核中少拷贝就绪文件描述符但是,ET伴随着使用非阻塞socket,要一次性读完、写完数据,也就是说可能进行的 read 或者 write 系统调用会更多至于是否真的更好,目前没有定论,需要在更多的环境、场景下去测试

赞一下(7) 踩一下



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有