专栏名称: 牛客网
程序员必备求职神器,刷真题,练算法,看面经,得内推。点击查看: http://www.nowcoder.com/
目录
相关文章推荐
不正常人类研究中心  ·  收养流浪玩偶!毛绒绒的温柔陪伴 ·  2 天前  
英式没品笑话百科  ·  我去年夏天买了这个皮革苍蝇拍,效果很好。但我 ... ·  2 天前  
不正常人类研究中心  ·  我学习如何养老 ·  3 天前  
51好读  ›  专栏  ›  牛客网

阿里面经,顺便求判定是否凉凉

牛客网  · 简书  ·  · 2018-03-15 12:49

正文

阿里一面


开始时间:2018-03-10 16 : 47

持续时间:31 m 1 s


面试开始:

痛苦,不想多说。阿里不愧是阿里,问的很有深度,而且都围绕着项目来。


面试题目:


自我介绍,巴拉巴拉大概四五分钟。


开题让我介绍自己的项目,让我特别详细的介绍,包括项目的初衷,如何进行的设计,项目中出现的问题,怎么解决的,项目现在怎么样。


提了一句项目中前端用什么,我说异步的框架,我不会,他问你知道Ajax嘛,我说我用过,没细问,不知道啥意思。


看我用了ActiveMQ,问我为什么用ActiveMQ,为什么不用其他类型的消息队列,我告诉他我不知道。ActiveMQ如何保证发送端和接收端能够发送出去和接收到,以及如何保证的安全性。卧槽?


看我用了MyBatis,问我#和$的区别,为什么用$不用#,我当时没想出来,告诉他一个是全文替换,一个是模糊匹配。后来说是防止注入攻击,然后我就马后炮了一下。


提到MyBatis,问我直到的数据的索引的数据结构,我说有四种,常用的是B ,还有哈希索引,但是哈希局限性太大,不常用。问我知道B-嘛,我说知道,就问我什么用B-,我说MongoDB,然后他问我B 和B-的区别,我和他说两个都是多叉树,区别在于一个非叶子节点上存数据一个不存,也就是说会影响高度。


问我知不知道volatile关键字,知道,就问我这个东西是干嘛用的,然后我把原理和他讲了一遍。问我多个线程如何按照顺序进行启动,我不造啊,我和他说我之前用过的方式都是Thread.sleep(),好尴尬。后来看好像是join,他以为我不知道这个关键字。


问我Spring用在什么地方,我就和他说每个地方都用,IoC和AOP,问我Spring默认是单例还是多例,我说单例,然后问我servlet是单例还是多例,我说是一个请求一个线程,然后居然答了多例,我肯定是疯了。然后问我知不知道ThreadLocal,我说再Spring里面见到过,问我作用,我说是为每一个线程复制一个对象的副本,问我线程安全吗,我说线程私有那肯定线程安全啊。


问我知道什么设计模式,我说单例、工厂、装饰者、代理、建造者、模板方法,他觉得太少了,我就说还有策略。问我单例的写法,我就举了饿汉和三种懒汉。


问我GET和POST的区别,讲道理记不清了,只记得一个在请求头一个在请求体里面,然后觉得太少,就说在REST下,GET是幂等且耦合的,是获取资源的信息,POST是对资源进行添加。


问了两个简单的算法题,一个是查找链表倒数第k个节点,一个是判断是否交叉并且在哪里交叉,比较简单,装作自己没刷过这些题,还嗯了一会。


之后说数据库,我说MySQL,他问我视图,这尼玛是我最坑的一块啊,问我视图的作用,我说是保证安全,将其中一部分的字段提供,然后他问我确定嘛,然后我!改!了!我说是对使徒的修改就会将操作映射到不同的表里,相当于同时修改多个数据表。







请到「今天看啥」查看全文