引言
先是在阿里官网直接投的简历,参加笔试后两周都没有消息。后来在学校群里看到蚂蚁保险的内推,就开启转岗流程。
本周二收到面试邀请,当晚七点就参加了一面,面试官直接加了微信。
第二天收到二面,同样是约当天下午面试,面完后面试官说让我等HR面。
第三天上午十点收到HR面试邀约,直接约的当天晚上七点。
目前等邮件通知中。总体的面试过程下来体验非常好,面试官都给了正向的反馈,效率杠杠的,三位面试官都非常nice,给了很多走心的学习和发展建议。
一面
由于本人专攻C++,但面的Java岗,所以面试官问了很多基础性的问题。
栈和队列的区别。
问题可以说非常基础了,我感觉如果直接两句话答完了不太好,于是我先说了一下栈和队列的特点,然后继续扩展了在C++/Java中栈和队列一般是怎么实现的,以及常用的使用场景,并扩展了在哪更复杂的数据结构和算法中用到了栈和队列。大概讲了十分钟栈和队列。
几大排序算法挑一个最熟的谈一谈。
仍然是相当基础的问题,我把快速排序、归并排序和堆排序都讲了一下。同样的先是聊了几个排序的实现原理,以及实现的思想(如快排和归并都是分治思想)。然后聊了几个排序的时空复杂度、优劣,以及快排最坏时间复杂度是什么情况。扩展了几个排序的应用场景(TopK,海量数据排序)。大概也讲了十分钟左右。
二叉树和红黑树讲一下。
又是一个相当基础的问题。讲了二叉树和红黑树的定义,聊了红黑树相比于其他排序二叉树的