求助盗月社大佬去哪里了,阿里巴巴社招几轮面试

记录一次阿里巴巴alibaba面试(未录取)

今天本是一个阳光明媚鸟语花香的日子。于是我决定在逛街中感受春日的阳光~结果晚上七点的时候蚂蚁金服后端盗月社大佬去哪里叻来了电话,要进行一轮的技术面试我一脸黑人问号??现在的面试都流行突袭吗

于是我的第一次面试之旅,就此壮烈的展开

首先呢,盗月社大佬去哪里了让我用两分钟自我介绍我本以为自己能滔滔不绝,将对方视作相亲对象般全方位介绍自己结果不到半分钟,我就介绍完了==

五秒钟的沉默后,盗月社大佬去哪里了嗯了一声

感觉自己的脸上堆满了尴尬而不失礼貌的微笑。

这时盗月社大佬去哪裏了问我最近从事了什么项目研究生阶段都进行了什么样的工作。

那必须吹一吹!从JAVA的起源到Spring的发展再到jenkin的使用顺便提一嘴dva+antd结果半分鍾一到,又说不下去了==

盗月社大佬去哪里了很有耐心的听我说了一堆语无伦次的话开始进入正题。

盗月社大佬去哪里了:我看你用过这個Spring啊你来聊聊为什么我们要使用Spring呢?

我:(因为大家都说好啊)首先呢spring是一个庞大的框架,它封装了很多成熟的功能能够让我们无需偅复造轮子其次呢,它使用IOC进行依赖管理我们就不用自己初始化实例啦。

盗月社大佬去哪里了:(我就知道你会说IOC啦)那你解释一下IOC吧

我:IOC就是依赖控制转化利用JAVA的反射机制,将实例的初始化交给SpringSpring可以通过配置文件管理实例。

盗月社大佬去哪里了:那我们可以直接使用工厂模式呀工厂模式也可以管理实例的初始化呀,为什么一定要使用Spring呢

我:啊........因为.......方便?(仿佛看到盗月社大佬去哪里了凝固的表情为了不那么尴尬,我决定转移话题)而且spring的IOC是单例模式呢。

盗月社大佬去哪里了:默认的是实现是单例模式吗

这里查了一下为什么不用工厂模式而使用IOC。其实本质上还是因为IOC是通过反射机制来实现的当我们的需求出现变动时,工厂模式会需要进行相应的变化泹是IOC的反射机制允许我们不重新编译代码,因为它的对象都是动态生成的

盗月社大佬去哪里了:你使用过哪些数据库呀?

盗月社大佬去哪里了:那你使用的ORM框架除了hibernate还有哪些比如IBatis?

盗月社大佬去哪里了:哦那你能讲一下你对两个框架使用后的感受吗?

我:当时使用Mybaits的時候也有去社区了解了一下两个框架的口碑,发现大家的战队都坚定而对立对Hibernate的不满通常是因为它在复杂关联中往往会带来严重的性能问题,也就是N+1的问题但是它是面向对象支持的最好的框架了。而Mybatis则相对而言比较易于使用只需要会SQL语句就行了。但是也意味着会破壞一些面向对象的规则

盗月社大佬去哪里了:(似乎有点认可)那你了解数据库的事务吗?能讲一下数据库的事务级别吗

我:(忘得┅干二净)emmm不好意思我记不太清楚了。

盗月社大佬去哪里了:那你还记得数据库的加锁吗比如乐观锁,悲观锁

我:(求您别问了T T)

盗朤社大佬去哪里了:(锲而不舍)那我现在假设有一张用户表,你也知道正常的表只能存放大概一千万或是两千万左右的数据。但是阿裏巴巴有上亿的用户你会怎么存储呢?

我:可以纵向分割与横向分割

盗月社大佬去哪里了:那你觉得这里应该纵向还是横向呢?

我:縱向(载入史册的嘴瓢)

盗月社大佬去哪里了:(很有耐心)可是这样我的数据库还是放不下啊

我:(仿佛突然睡醒)应该是横向分割紦表拆分成多个表然后分布式存储

盗月社大佬去哪里了:那你觉得我们怎样分割比较合适呢?

我:(还能再问)可以根据地域,但是根據用户分布的情况来说还是会有某些地域访问稠密而有些地域比较稀疏的问题。难道按照用户等级

盗月社大佬去哪里了:不,用户等級会变动不合适。你这个阶段暂时没有考虑这个问题

我:(谢谢您的台阶啊!)

盗月社大佬去哪里了:你们服务器用的是什么操作系统啊

我:(呀,送命题)我们用的是阿里云上的centos系统

盗月社大佬去哪里了:那你对linux熟练吗

我:不是很熟悉,仅仅是入门能够敲一点指囹。

盗月社大佬去哪里了:好那你知道库函数和内核调用吗?

我:内核调用是指进入内核态然后执行指令然后再回到用户态吗

我:我知道的大概就这么多了,只了解一些概念上的内容(凉凉送给自己)

盗月社大佬去哪里了:那你知道如何查看进程吗?

我:啊...记不得了我一般都查一下指令(于是盗月社大佬去哪里了果断放弃了其它linux问题)。

盗月社大佬去哪里了:你了解JAVA虚拟机吗能解释一下底层的模塊吗?

我:(如果你通知我明天面试我就了解了><)不好意思,这一块知识我不熟悉但是我很愿意去了解(赶紧表忠心啊!)

盗月社大佬去哪里了:你知道什么是线程安全吗?

我:(乌鲁乌鲁说了一堆)就是比如如果同时有两个线程访问同一个变量那么它们对变量造成嘚修改所带来的结果可能是不确定的。

盗月社大佬去哪里了:那你知道JAVA有什么方法来实现线程安全吗

我:(前几天还翻译了博客,但是┅问起来忘得比啥都快)首先是synchronized修饰词然后JAVA还自己实现了一些封装好的类比如LatchDown,Atomic系列(????????后来一查是CountDownLatch!还有大明湖畔的final关键字呢还有小奣湖畔的Lock呢?还有那些实现线程的collections比如ConcurrentHashMap呢)

盗月社大佬去哪里了果然开启了下一个问题。

盗月社大佬去哪里了:你有写过分布式的业务嗎

我:我写过一个基于HDFS分布式存储的KVStore,上层使用Hadoop的API实现

盗月社大佬去哪里了:那个是分布式存储,我想了解一下分布式业务

我:(趕紧纠正)那dubbo算吗?(于是介绍了一下自己了解的dubbo)

盗月社大佬去哪里了:ok那你觉得分布式的话会遇到什么问题呢?

我:那就是经典的CAP問题了没有数据库能够同时满足这三个问题

盗月社大佬去哪里了:那你能具体解释一下CAP代表什么吗?

盗月社大佬去哪里了:你了解过设計模式吗

盗月社大佬去哪里了:那你了解过哪些设计模式呢?

盗月社大佬去哪里了:那你解释一下指令模式吧

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

最后当然和盗月社大佬去哪里了话一话家常,进行最后的挣扎总结来说,要想成功进行一次阿里巴巴的面试你需偠了解甚至掌握以下内容:

  • JAVA语言,尤其是线程
  • 数据库(事务加锁,ORM)

可以说是涉及范围非常广了不过其实要想成为一名优秀的后端开發,是需要这些知识面的只能说自己还是太菜了。要继续深入学习!

}
  • 隔壁看到迅速来答 树梢没回来的時候我甚至觉得盗月社大佬去哪里了和母上有一腿

  • 我觉得盗月社大佬去哪里了和沐上挺甜盗月社大佬去哪里了对他们都是挺宠的啊

  • 我在怹们不怎么?的时候问,为啥盗月社大佬去哪里了不露面,回答是因为丑。

  • 跑个题,说起来我从很早很早之前就默默觉得Coco和狒狒虽然互動不算多但都很甜结果重庆出了一期他俩一起的开心死我了。可能团队关系好吧任意排列组合都很好哈哈

}

我要回帖

更多关于 盗月社大佬去哪里了 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信