亲宝软件园·资讯

展开

去阿里面试需要具备什么知识?记我的1次在阿里面试经验,100%对你有帮助

程序媛双喜 人气:0

前言:
今天风和日丽,万里无云。我在家享受这个美好的天气,这就在这个时候,,大约晚上7多半左右,蚂蚁金服打电话过来了,要我去面试,我内心是蒙圈的。没人跟我说过阿里的面试时突袭形式的呀。

于是我开始我的面试之旅。

面试过程:
1.自我介绍

2.最近的项目经历

3.技术层面考察

自我介绍:
面试开始,大佬让我用一分钟的时间简单的介绍一下自己。我时间把控的还是很好的,总共花了1分30秒,然后我介绍完了。沉默了几秒钟,大佬说,好的。

我们俩尴尬不失礼貌的微笑了。

最近的项目经历:
大佬:在上一家公司有做过什么项目呢?

我:我心里想必须的吹一下! 我从欧诺个Java讲到spring在讲到Jenkins,最后顺便提了一嘴dva+antd

大佬:好的,我们现在开始进入正题。

技术层面考察:
关于spring的考察:

大佬:刚刚你有说过你之前用过spring,对吗?那请你说下我们这边为什么药用spring呢?

我:首先我觉得是因为spring好,具体哪里好呢;第一,spring是一个很大框架,它的功能是很成熟的,不用我们去重复制造了。第二,spring可以进行依赖管理,不用我们在初始化实例了呢,这里使用的是ioc。

大佬:那你这边简单的说下ioc吧

我:ioc主要利用的是Java的反射机制。把实际案例交给spring的话,可以直接通过配置文件来对实例进行管理。

大佬:那为什么不直接使用工厂模式二采用ioc呢?

我:工厂模式是动态的,会根据我们的需求变动时会出现相应的变化。ioc是单一的,当需求变动时,对象也是动态生成的,很方便。

数据库:

大佬:你之前都用过哪些数据库呀?

我:mysql

大佬:那你有用过ibatis吗?

我:我之前用过mybatis

大佬:那你说下orm和mybatis框架的使用感受

我:对于hibernate的使用感受是,在比较复杂 关联中往往都会带来严重性的n+1问题。mybatis相对来说是比较容易使用的,只要你会用SQL就可以了,但是也会破坏一些面向对象的规则。

大佬:我挺认可你的观点的。你这边了解数据库事务吗?可以讲下它的级别吗?

我:我如实的回答了,我记不太清了。

大佬:好的,你还挺诚实的。一张数据表怎么存储阿里巴巴的亿级用户?

我:可以采用纵向和横向分割

大佬:那你觉得怎么分割才放下呢?

我:将一张大表拆成很多张小表在进行分布式储存。

大佬:用户等级会变动的,我在现阶段还没有考虑这个问题。

Linux:

大佬:你们平时用的操作系统是什么?

我:我们用的是centos系统

大佬:你对Linux了解吗

我:我了解,是入门级别的,会敲一点指令

然后考察了一些概念知识。

线程:

大佬:请说下线程安全是什么?

我:两个线程同事访问一个变量,两个线程对变量的更改是不确定的。

大佬:有什么方法可以实现线程安全吗?

我:比如:synchronize,latchdown,atomic

分布式

大佬:你之前有写过分布式吗?

我:我之前写过一个分布式储存的kvstore,然后介绍一下自己了解的dubbo

大佬:好的,你在写分布式过程中遇到过些什么问题呢?

我:我觉得最大的问题就是没有数据库可以同时满足cap

设计模式

大佬:你了解过设计模式吗?

我:了解了解

大佬:那你了解过哪些设计模式呢?

我:blablabla

大佬:那你解释一下指令模式吧

我:这个有点像函数式编程的思想。指令模式就是指将各个操作封装为统一的接口,并且提供各个操作的实现类。这样我们只需要面向command接口编程,解除了调用类和指令之间的强耦合。

大佬:之前有了解过设计模式吗?

我:一顿说(此处省略五百字)

总结:
总体来说想要在阿里巴巴面试成功,你需要了解以下的知识。spring是重点,其次要熟悉线程,jvm调优,数据库,Linux,分布式架构,设计模式。

以下是我准备的资料,免费分享给大家,有需要话,可以私信我领取

 

加载全部内容

相关教程
猜你喜欢
用户评论