蚂蚁CTO线一二面-已挂原因不明

4.28 查看结果已挂,虽然在了解到蚂蚁CTO线的地位和含金量之后就不是很想去了,但没想到HR直接含糊其辞,一个原因都没有。或许这也符合阿里系公司的特征吧,没有信用和规范,面试过程也体验很一般,希望这家垃圾公司早日倒闭😅😅😅

蚂蚁-CTO线-可信原生技术部

最开始在官网显示有大淘宝、菜鸟网络、蚂蚁CTO线都在广州有岗,但淘宝的面试官给我打电话约面试的时候表明广州并没有招人的部门,最后挂了简历轮转到了蚂蚁CTO线。但好像蚂蚁的处理效率很快,甚至周六和清明节都推进了官网的简历流程约面试。
4.7 一面技术面(45min)
一面的技术官感觉人很不错,比较热情,而且研究的方向好像偏向于消息中间件,全程都在聊项目加场景题,聊的很投机。
  1. 自我介绍
  2. 项目的背景是什么,之后重点聊了聊天系统,讲了很长时间的系统设计,最后问到我一点系统考虑的用户量是多少,我说没有考虑很多,只是想把应用快点做出来,面试官说这点在设计的时候也很重要,然后说问题不大,继续。
  3. 项目中为什么要用netty,介绍一下netty,你是怎么运用netty的。我从Reactor讲到netty的责任链模式,再讲到项目中怎么用netty,怎么配合业务逻辑进行工作。
  4. WebSocket协议,为什么要用这个。我从socket本质讲到http的缺点,再讲到客户端得要开发一套api,所以综合考虑使用了WebSocket协议
  5. redis挂了怎么办(当时被问到有点懵,没想到一上来就问高可用,我说可以采用集群的方式,之后没有深入问分布式相关的知识)
  6. 海量数据怎么存?(类似mysql分库分表,将消息分散到不同的redis节点当中,堆集廉价服务器,横向扩展)
  7. 继续系统的设计细节,问的很细。谈到消息临时存储用的redis,用的什么数据结构(list),是不是有序的(我想了一下,说肯定是有序的,但想到面试官肯定想让我考虑如果无序怎么办,所以话锋一转讲到,当然可能因为网络原因导致到达redis的消息无序,此时需要进行排序),怎么排序的,根据什么排序(消息会有自定义的type,同时有时间戳,会根据时间戳来排序)
  8. 面试官突然说问一些基础的,接触过哪些排序算法(选择、交换、插入,O(nlogn)的排序有快排、堆排序、归并排序、桶排序),你喜欢用哪个(我说快排,因为之前看过比较的文章,快排平均会比归并和堆排序要快一到两倍)
  9. 如果一个人十年没上线,收到了海量数据,怎么排序(面试官在引导我,一步步地把这个大数据的业务场景描述清楚,我说,首先服务器是能够存的下那么多消息的,然后采用k路归并排序,以流的方式“慢慢地”发送到排序的服务器,排序完一部分就发出去给客户端),这么多消息客户端收不过来怎么办(把最新的消息推送给客户端,客户端可以自己选择拉取后面的消息,当然,消息如果满了需要自己清理)
问了36min,体验很好,感觉面试官在循循善诱,慢慢地引出一些硬核的场景题,最后也没有没答上来的题目,感觉面试官很满意,说了几声很好。反问,能接触一些什么业务和技术,面试官开始介绍自己的部门,貌似有在开发消息中间件和spring框架,还有用户态内存加密。总体上感觉这次面试很愉悦。

4.13 二面交叉面(25min)
面试官好像比较忙,跟hr扯了半天时间,最后定到下午四点到四点半,我还纳闷儿咋就半个小时,面试官感觉也比较累,趁我口若悬河的时候打了好几个哈欠,无语了。
  1. 一上来介绍,问以后的规划,读不读研,为什么大三就开始找实习(不是很正常吗hhh),为什么想去广州,巴拉巴拉
  2. 又是问项目,netty和WebSocket,在一面的基础上给他精细地,从发展历史(http悬挂请求、轮询),到设计模式(责任链模式,handler),到应用,把毛都给捋顺了。其中还问了半双工是什么意思,有点诧异,还给他解释了一会儿,最后归结到“请求-应答”的通信模式。一开始讲到WebSocket的时候说飘了嘴,说它是基于http的,然后面试官问怎么基于半双工实现全双工通信的,然后我又说到socket,最后更正了一开始的说法,WebSocket只是一开始套了http的壳子,之后跟http没有什么关系了。
问了二十多分钟开始反问了,接下来有几面,为什么时间比较短(说是交叉面,会简单一些)
总体来讲感觉难度比较小,希望能尽快有消息,能发出offer。

4.22 HR面(22min)

过了十天终于迎来了hr面,问题的主要内容包括你碰到了那些困难、怎么解决的、如何协作的、语言问题、为什么要来广州、以后的打算。hr态度挺不错,话题基本是我在掌控,hr顺水推舟问一些问题。最后我问了大概什么时候可以发出意向、知道结果,hr说大概一周之后。
整体感觉蚂蚁的面试体验有一点乱,一面面试官跟我说要三轮技术面,但后来又变成了两轮技术面。不过面试的部门还是很不错的,就是不知道会不会出什么意外(阿里的乌龙一直很多)。。。希望能顺利拿到offer。

#面试复盘##实习##面经#
全部评论
已挂,原因不明,应该是不招人了,面试很水,但还是坚持面完了HR面
3 回复 分享
发布于 2022-04-28 15:15
蚂蚁cto地位不行吗
点赞 回复 分享
发布于 2023-05-10 12:35 上海
蚂蚁cto线地位和含金量怎么说😂
点赞 回复 分享
发布于 2023-04-14 01:45 香港
楼主offer拿到了吗,我面的CTO + NLP,过了两轮技术面之后,最后Leader + Hr面挂了,很奇怪,难道因为我不是计算机系的?面试的时候一直问我为啥不是计算机系的。
点赞 回复 分享
发布于 2022-04-25 15:48
目前已经被hr约了4.22号的面试,第三轮技术面
点赞 回复 分享
发布于 2022-04-19 19:28
蚂蚁没hc了吧
点赞 回复 分享
发布于 2022-04-15 16:07
🎉恭喜同学成功投稿参与【面试复盘】,并通过审核! 😉请留意你的私信,官方红N人员将与你取得联系,进行奖励发放~ 👉🏻戳:https://www.nowcoder.com/discuss/872618了解更多活动详情~
点赞 回复 分享
发布于 2022-04-15 14:57
我们同一天面试也是CTO,楼主有收到下一面的消息吗
点赞 回复 分享
发布于 2022-04-15 10:09

相关推荐

05-23 12:00
门头沟学院 C++
5.22一面,总共时长125min1.如何保护用户的隐私2.int* createArray() {int arr[3] = {1, 2, 3}; return arr;} 这段代码有什么问题3.对上述代码进行改进,写出能想到的所有方法(我写了一个malloc,全局数组,静态数组)4.说一下三种方式的优缺点5.全局数组和静态数组有什么区别6.解释完美转发的作用及实现方式7.const int*,int const*,int* const, const int* const的区别8.实现一个无锁计数器9.调用C++11实现一个线程安全的有界环形队列(circular buffer),要求如下:支持多线程环境下的并发push和pop操作,队列有固定容量,满时push操作要阻塞,空时pop操作要阻塞。不允许使用第三方库,只能用C++11标准库,说明你的实现如何保证线程安全,并分析可能的性能瓶颈。10.unique_lock 和 lock_guard的区别,为什么你刚才给我的代码用的是unique_lock 而不是 lock_guard 呢11.你写的代码的性能瓶颈是什么?如果有大量得到生产者和消费者会怎样呢12.把第9个改成非阻塞的,写一下,为什么你这个非阻塞用lock_guard这个锁呢13.有一类二叉树用三叉链表来存储的时候除了带有指向左右孩子节点的两个指针,还有指向父节点的指针,那么这样一棵二叉树有n个节点,那么有多少指针指向NULL(对于不存在的节点表示为空)14.int n = 2019; int count = 0;  while(n){count++; n = n&(n - 1);} cout << count << endl;输出是多少,为什么15.给定一个递增循环整数数组,从里面找出最小的元素,使用的算法越快越好。特别地,最小的元素可能出现在数组中间。比如:50,52,63,90,3,8,15,44,49,int findmin(int array[]){}16.在二叉排序树上面找出第3大的节点。注意:不能把二叉树全量存储到另外的存储空间,比如存储到数组中,然后取出数组的第三个元素。class TreeNode {public:int value;TreeNode*left;TreeNode* right};TreeNode* find(TreeNode*root) {}17.动态规划题:给定一个长度为l的木棍,已知有n个切割点,要求在每个切割点都要切割,注意每次切割的开销为当前木棍的长度,例如一个10米的木棍,切割点为2,4,7。有多种切割方式,其中可以先切2,再切4,再切7,此时开销为10+8+6=24(第1次切木棍为10米,笑2次切木棍为8米,第3次切木棍为6米),也可以先切4,再切2,再切7,出约著销为10+4+6=20,这时开销更小你的任务是计算切割的最小开销。
查看17道真题和解析
点赞 评论 收藏
分享
评论
3
30
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务