加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

记录一次壮烈牺牲的阿里巴巴面试

发布时间:2018-09-07 14:06:34 所属栏目:编程 来源:raledong
导读:技能沙龙 | 邀您于8月25日与国美/AWS/转转三位专家配合切磋小措施电商拭魅战 媒介 本日本是一个阳光亮媚,莺啼燕语的日子。于是我抉择在逛街中感觉春日的阳光~功效晚上七点的时辰,蚂蚁金服后端大佬来了电话,要举办一轮的技能口试。我一脸黑人问号???此刻
副问题[/!--empirenews.page--] 技能沙龙 | 邀您于8月25日与国美/AWS/转转三位专家配合切磋小措施电商拭魅战

记录一次壮烈捐躯的阿里巴巴口试

媒介

本日本是一个阳光亮媚,莺啼燕语的日子。于是我抉择在逛街中感觉春日的阳光~功效晚上七点的时辰,蚂蚁金服后端大佬来了电话,要举办一轮的技能口试。我一脸黑人问号???此刻的口试都风行突袭吗?

于是我的第一次口试之旅,就此壮烈的睁开。

自我先容

起首呢,大佬让我用两分钟自我先容。我本觉得本身能滚滚一直,将对方视作相亲工具般全方位先容本身。功效不到半分钟,我就先容完了==。

五秒钟的沉默沉静后,大佬嗯了一声。

感受本身的脸上堆满了忧伤而不失规矩的微笑。

最近的项目经验

这时大佬问我最近从事了什么项目,研究生阶段都举办了什么样的事变。

那必需吹一吹!从JAVA的发源到Spring的成长再到jenkin的行使趁便提一嘴dva+antd,功效半分钟一到,又说不下去了==

大佬很有耐性的听我说了一堆颠三倒四的话,开始进入正题。

Spring

大佬:我看你用过这个Spring啊,你来聊聊为什么我们要行使Spring呢?

我:(由于各人都说好啊)起首呢,spring是一个复杂的框架,它封装了许多成熟的成果可以或许让我们无需一再造轮子。其次呢,它行使IOC举办依靠打点,我们就不消本身初始化实例啦。

大佬:(我就知道你会说IOC啦)那你表明一下IOC吧

我:IOC就是依靠节制转化,操作JAVA的反射机制,将实例的初始化交给Spring。Spring可以通过设置文件打点实例。

大佬:那我们可以直接行使工场模式呀。工场模式也可以打点实例的初始化呀,为什么必然要行使Spring呢?

我:啊........由于.......利便?(似乎看到大佬凝固的心情,为了不那么忧伤,我抉择转移话题)。并且spring的IOC是单例模式呢。

大佬:默认的是实现是单例模式吗?

我:对的。

这里查了一下为什么不消工场模式而行使IOC。其收??上照旧由于IOC是通过反射机制来实现的。当我们的需求呈现变换时,工场模式会必要举办响应的变革。可是IOC的反射机制应承我们不从头编译代码,由于它的工具都是动态天生的。

数据库

大佬:你行使过哪些数据库呀?

我:mysql尚有sqlight。(被忘记的mongodb在角落里无声抽泣)

大佬:那你行使的ORM框架除了hibernate尚有哪些,好比IBatis?

我:我用过MyBatis

大佬:哦,那你能讲一下你对两个框架行使后的感觉吗?

我:其时行使Mybaits的时辰,也有去社区相识了一下两个框架的口碑,发明各人的战队都强项而对立。对Hibernate的不满凡是是由于它在伟大关联中每每会带来严峻的机能题目,也就是N+1的题目。可是它是面向工具支持的最好的框架了。而Mybatis则相对而言较量易于行使,只必要会SQL语句就行了。可是也意味着会粉碎一些面向工具的法则。

大佬:(好像有点承认)那你相识数据库的事宜吗?能讲一下数据库的事宜级别吗?

我:(忘得一干二净)emmm欠盛意思我记不太清晰了。

大佬:那你还记得数据库的加锁吗?好比乐观锁,气馁锁?

我:(求您别问了T T)

大佬:(坚持不懈)那我此刻假设有一张用户表,你也知道,正常的表只能存放或许一万万或是两万万阁下的数据。可是阿里巴巴有上亿的用户?你会怎么存储呢?

我:可以纵向支解与横向支解。

大佬:那你认为这里应该纵向照旧横向呢?

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

大佬:(很有耐性)然则这样我的数据库照旧放不下啊

我:(似乎溘然睡醒)应该是横向支解,把表拆分成多个表然后漫衍式存储

大佬:那你认为我们奈何支解较量吻合呢?

我:(还能再问?)可以按照区域,可是按照用户漫衍的环境来说,照旧会有某些区域会见浓密而有些区域较量稀少的题目。莫非凭证用户品级?

大佬:不,用户品级会变换,不吻合。你这个阶段暂且没有思量这个题目

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

Linux

大佬:你们处事器用的是什么操纵体系啊?

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

大佬:那你对linux纯熟吗?

我:不是很认识,仅仅是入门,可以或许敲一点指令。

大佬:好,那你知道库函数和内核挪用吗?

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

大佬:对

我:我知道的或许就这么多了,只相识一些观念上的内容。(凉凉送给本身)

大佬:那你知道怎样查察历程吗?

我:啊...记不得了,我一样平常都查一下指令(于是大佬坚决放弃了其余linux题目)。

JVM

大佬:你相识JAVA假造机吗?能表明一下底层的模块吗?

我:(假如你关照我来日诰日口试,我就相识了><)欠盛意思,这一块常识我不认识,可是我很乐意去相识(赶忙表忠心啊!)

线程

大佬:你知道什么是线程安详吗?

我:(乌鲁乌鲁说了一堆)就是好比假犹如时有两个线程会见统一个变量,那么它们对变量造成的修改所带来的功效也许是不确定的。

大佬:那你知道JAVA有什么要领来实现线程安详吗?

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

大佬公然开启了下一个题目。

漫衍式

大佬:你有写过漫衍式的营业吗?

我:我写过一个基于HDFS漫衍式存储的KVStore,上层行使Hadoop的API实现。

大佬:谁人是漫衍式存储,我想相识一下漫衍式营业?

我:(赶忙更正)那dubbo算吗?(于是先容了一下本身相识的dubbo)

大佬:ok。那你认为漫衍式的话会碰着什么题目呢?

我:那就是经典的CAP题目了。没稀有据库可以或许同时满意这三个题目

大佬:那你能详细表明一下CAP代表什么吗?

我:(求助到一片空缺)Consistency?Atomic?P...Persistency???

大佬:。。。。。。

CAP:是指Consistency同等性,Availability可用性,Partition Tolerance分区容忍性

计划模式

大佬:你相识过计划模式吗?

我:相知趣识

大佬:那你相识过哪些计划模式呢?

我:blablabla

大佬:那你表明一下指令模式吧

我:这个有点像函数式编程的头脑。指令模式就是指将各个操纵封装为同一的接口,而且提供各个操纵的实现类。这样我们只必要面向command接口编程,扫除了挪用类和指令之间的强耦合。

总结

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读