阿里CTO线面经 技术终面篇
阿里CTO线面经
不得不说阿里的效率真的非常的高,我刚投完简历的就收到了综合测评的链接。完成了综合测评马上就收到了面试的通知,一面的时间比笔试还早,完成了笔试后也马上就被通知参加技术终面,然后就是紧接着的HR面,基本在一个星期就完成了所有的笔试和面试。个人觉得阿里的面试体验是面过的公司里最好的。面试官非常的耐心和善,而且个人感觉不管是笔试还是面试考察的重点都是综合素质(包括是否善于思考、是否聪明灵活、遇到新的问题怎么解决),并没有问很多死记硬背的八股文,也并不要求刷很多的算法题。
1、首先自我介绍。
2、问了一下第一段实习经历有没有参加过什么实际的项目,有什么收获?(因为我第一段实习经历是远程实习,没有参加实际的项目,主要是以学习技能为主,因此面试官没有过多的询问)
3、最早接触编程时什么时候,起因和动机是什么?
4、对读研和工作有什么想法,是否有深造的打算?
5、介绍一下自己印象最深刻的项目以及在项目中遇到的问题?
答:个人的项目是一个压缩软件的项目,因为是自己亲手实现的,
6、是否了解Java的IO体系,能具体的说一说吗?
答:主要讲了一下Java NIO和Java BIO 的区别?
7、能讲一讲Java NIO和Java BIO 的区别吗?
8、能否讲一讲项目中用到的MapperByteBuffer的底层原理?
9、用Java NIO读文件时,如果读一个文件是10G大小,那是一口气全部读到内存吗?
10、能否说一说操作系统内存管理的体系结构?
11、内存是不连续的,操作系统怎么去管理这些不连续的内存?(逻辑内存与物理内存)
12、如果随着运行程序的变多,操作系统的物理内存会变得很大,查询的效率会变差,操作系统怎么来避免这种情况的发生?(分级管理的机制,改进内存结构(cache))
13、从电脑的硬盘调取一次文件,会涉及到几次系统调用?(这里因为不太了解具体的系统调用,开始答的不好,后来面试官提醒了知道,其实就是用户态和内核态切换的问题)
14、能否了解用户空间这样的一个概念?
15、能否说一说线程和进程的区别?
16、进程和线程对于内存的访问有什么区别?
17、操作系统通过什么机制保证进程之间的独立性?
18、了解设计模式相关的知识吗?(因为没学过,就直接和面试官说不太清楚)
19、项目中为什么读文件的时候用了文件内存映射的方式,写的时候却使用了缓存输出流的方式?
(主要是基于对性能和开销的考虑)
20、缓存输入输出流从底层原理来看和普通的输入输出流有什么区别,他是怎么提高读取的性能的?
21、写自己的项目的起因和背景是什么?
22、Java中有哪些保证线程同步的方式?
23、有没有使用过Java中自带的一些线程同步的工具?
24、能不能说一说TCP协议和UDP协议之间的区别?
25、现在有个有趣的问题:怎么设计,使用UDP也达到一个像TCP一样的可靠传输,能详细讲解一下设计的思路吗?
26、知道怎么用Linux 的命令去查看当前有多少进程在运行吗?
27、有没有和别人一起合作开发的经验?
28、学习编程的过程中,有没有遇到对你影响比较大的人?
29、有没有什么让你印象比较深刻的比赛经历?
30、算法题:用纸和笔手写算法题:很简单的动态规划化的题目:斐波那契数列
(个人认为手写的目的可能是考察写程序的完整性)
31、如果通过的话,大概什么时候可以过来实习?
32、反问环节:请问面试官,向您这样的专业的开发人员遇到问题会通过一些什么样的途径进行解决?
个人的面试感受是面试官的很多问题是来自于项目中的技术点或者相关的知识点,很多问题没有最正确的答案,只有建立在你充分了解项目的背景和所用知识点的基础上才能答的很好,而且回答的过程一定要体现你项目的一个思考判断过程,不要让面试官觉得你只是随便模仿了一个项目,并没有仔细地研究和思考。
一面和HR面的面经后续会整理给大家参考,因为技术终面印象最深刻,所以先整理出来。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性