-
dubbo 中的 rpc 如何实现。
-
自己实现 rpc 应该怎么做
-
dubbo 的服务注册与发现。
-
听说我是非科班,于是问了些排序算法
耗时将近 30 分钟。
三面:
三面不是面试,而是笔试,耗时三个小时,考的是 Java 核心的基础。但是好像不能透题,就不说了。都挺有难度的。
大概说一下就是有几个考点,Java 并发的知识点,集合类,线程池,多线程之间的通信等。
HR 面:
聊人生谈理想,HR 小姐姐非常温柔,交流十分愉快。30 分钟。
五面腾讯
面试岗位是后台开发工程师,我没有选择意向事业群。
SNG 的部门捞了我的简历,开始了面试,他们的技术栈主要是 Java,所以比较有的聊一共经历了四次技术面试和一次 HR 面试,拿到 offer。
一面:
-
有序数组排序,二分,复杂度
-
常见排序算法,说下快排过程,时间复杂度
-
有 N 个节点的满二叉树的高度。1+logN
-
朋友之间的点对点关系用图维护,怎么判断两人是否是朋友,并查集,时间复杂度,过程。没讲清楚
-
单元点最短路的方法,时间复杂度
-
如何实现关键字输入提示,使用字典树,复杂度多少,有没有其他方案,答哈希,如果是中文呢,分词后建立字典树?
-
hashmap 的实现讲一下吧,讲的很详细了。讲一下红黑树的结构,查询性能等。
-
Java 中的垃圾回收讲一下,讲了分代,gc 算法,gc root 可达性分析等
-
讲一下两个项目你都做了什么把。
-
除了代码之外你还学习了什么技术,框架。
-
死锁是怎么产生的
-
线程和进程的区别
-
进程的通信方式
-
CPU 的执行方式
-
代码中遇到进程阻塞,进程僵死,内存泄漏等情况怎么排查。通过 ps 查询状态,分析 dump 文件等方式排查。
-
Linux 了解么,查看进程状态 ps,查看 cpu 状态 top。查看占用端口的进程号 netstat grep
-
10g 文件,只有 2g 内存,怎么查找文件中指定的字符串出现位置。MapReduce 分割文件处理。
二面:
-
快排的时间复杂度,冒泡时间复杂度,快排是否稳定,快排的过程
-
100w 个数,怎么找到前 1000 个最大的,堆排序,怎么构造,怎么调整,时间复杂度。
-
一个矩阵,从左上角到右下角,每个位置有一个权值。可以上下左右走,到达右下角的路径权值最小怎么走。
-
四辆小车,每辆车加满油可以走一公里,问怎么能让一辆小车走最远。说了好几种方案,面试官引导我优化了一下,但是还是不满意,最后他说跳过。
-
hashmap 的实现,hashtable,concurrenthashmap 实现。
-
MySQL 的索引,B+树性质。
-
Linux 的 cpu 100 怎么排查,top jstack,日志,gui 工具
-
Linux 大文件怎么查某一行的内容。
-
Redis 内存数据库的内存指的是共享内存么
-
Redis 的持久化方式
-
秒杀系统的架构设计
三面:
-
十亿个数的集合和 10w 个数的集合,如何求它们的交集。
-
十亿和数找到前 100 个最大的,堆排序,怎么实现,怎么调整。
-
TCP 和 UDP 的区别,具体使用场景呢。
-
TCP 四次挥手讲一下过程,最后一次 ack 如果客户端没收到怎么办。
-
对于 socket 编程,accept 方法是干什么的,在三次握手中属于第几次,可以猜一下,为什么这么觉得。
-
Linux 操作系统了解么,了解一点点,就没问了。
-
对于单例模式,有什么使用场景了,讲了全局 id 生成器,他问我分布式 id 生成器怎么实现,说了 zk,问我 zk 了解原理不,讲了 zab,然后就没问啦。
-
除了单例模式,知道适配器模式怎么实现么,有什么用
-
回到网络,刚才你说到直播场景,知道直播的架构怎么设计么,要点是什么,说了几个不太对,他说要避免广播风暴,答不会。
-
Redis 和 MySQL 有什么区别,用于什么场景。
-
问了一下最近看什么书,什么时候开始写博客的
-
问了还有几轮面试,他说这轮我可以过,有点小惊喜
四面:
三面过了半个多月,终于安排四面了。
-
自我介绍
-
项目,收获
-
Linux 了解哪些,基础命令和知识。问我 proc 文件系统了解么,答不了解。
-
TCP 和 UDP 的核心区别在哪,讲了滑动窗口保证可靠有序传输,UDP 不可靠。TCP 需要连接而 UDP 不需要。
-
TCP 的四次挥手,time wait 状态有什么意义。
-
说完这个他问我有什么想问他的了。
-
我问他为什么隔了这么久才面试,而且之前三面都只是初试,然后他说最近他在休假,所以就。。。害我担心了好久。他说接下来等 HR 面就行了。
HR 面:
自我介绍
实习收获
台湾交流体验
之前实习公司的情况,拿到 offer 了吗,会如何选择呢
排一下公司,部门,薪资和城市等因素。
你的优缺点,如何改进
学生时代最成功的事
你的预期薪资
三面头条
面试岗位是后台研发工程师,地点选择了上海,通过大佬内推,跳过死亡笔试,直接视频面,从 3 点开始,断断续续到晚上 8 点结束。
一共三轮技术面试,每一轮都要写代码,问问题的风格有点像腾讯,也喜欢问一些底层知识,让我有点懵逼。
一面:
-
写一个题,找一个无序数组的中位数
-
写了个快排,然后让我找到无序数组第 k 大的一个数,我说先排序再找,实际上可以用快排的 partition 函数。
-
快排的时间复杂度,最坏情况呢,最好情况呢,堆排序的时间复杂度呢,建堆的复杂度是多少,nlgn。
-
操作系统了解么,Linux 和 windows
-
说说 Linux 的磁盘管理,一脸懵逼
-
Linux 有哪些进程通信方式,五大件
-
Linux 的共享内存如何实现,大概说了一下。
-
共享内存实现的具体步骤,我说没用过
-
socket 网络编程,说一下 TCP 的三次握手和四次挥手,中间网络不好,面试官都没听清楚,很尴尬
-
跳过网络,问了项目的一些东西
-
问我如何把 docker 讲的很清楚,我从物理机,虚拟机到容器具体实现稍微说了下。
-
问我 cgroup 在 linux 的具体实现,不会。
-
多线程用过哪些,chm 和 countdownlatch 在实习用过
二面:
-
自我介绍
-
Java 的集合类哪些是线程安全
总结
面试建议是,一定要自信,敢于表达,面试的时候我们对知识的掌握有时候很难面面俱到,把自己的思路说出来,而不是直接告诉面试官自己不懂,这也是可以加分的。
以上就是蚂蚁技术四面和HR面试题目,以下最新总结的最全,范围包含最全MySQL、Spring、Redis、JVM等最全面试题和答案,仅用于参考
讲的很清楚,我从物理机,虚拟机到容器具体实现稍微说了下。
-
问我 cgroup 在 linux 的具体实现,不会。
-
多线程用过哪些,chm 和 countdownlatch 在实习用过
二面:
-
自我介绍
-
Java 的集合类哪些是线程安全
总结
面试建议是,一定要自信,敢于表达,面试的时候我们对知识的掌握有时候很难面面俱到,把自己的思路说出来,而不是直接告诉面试官自己不懂,这也是可以加分的。
以上就是蚂蚁技术四面和HR面试题目,以下最新总结的最全,范围包含最全MySQL、Spring、Redis、JVM等最全面试题和答案,仅用于参考
[外链图片转存中…(img-8T35LtI9-1720123305340)]