阿里面经

1小时22分钟,问的很细,需要多看源码。有些问题没有答好,需要好好整理。

1.堆排序过程?

2.kmp?

很久没看忘了

3.solr低层实现?

说了倒排索引的结构

4.给你一句话低层怎么实现搜索?

没答上来,后来学习了一下。

搜索过程:

a) 用户输入查询语句

b) 对查询语句经过语法分析和语言分析得到一系列词(Term)

c) 通过语法分析得到一个查询树

d) 通过索引存储将索引读入到内存

e) 利用查询树搜索索引,从而得到每个词(Term)的文档链表,对文档链表进行交,差,并得到结果文档

f) 将搜索到的结果文档对查询的相关性进行排序

g) 返回查询结果给用户

5.dubbo底层怎么实现?

没答上来,说了一下四个角色,和通讯协议。

6.volatitle关键字作用?

7.内存可见性是什么?

8.主内存和工作内存?

9.线程池的构造函数?

10.索引的好处?

11.共享锁和排他锁?

12.jvm内存结构?

13.AOP底层?

我说动态代理。

动态代理底层?

没答上来。后来学习了一下是编译时基于对class字节码的修改。

14.IOC底层?

15.同步的方式?

三种

16.转发与重定向?

17.jsp与servlet区别?

18.添加一个统计访问次数的功能可以在servlet中定义一个变量,每次访问加一吗?

答得很不好,我说可以用servletContext。后想了可能是问servlet线程安全问题。

19.http和https区别?

20.http报文头?

不会,需要好好学一波。

21.数据库为啥要用having?

22.写sql,一个成绩表中找出至少三门成绩大于90分的学生id

23.object的方法? hashCode有什么用? equals比的是什么?

24.分布式事务解决方案?

说了一下CAP定理。

25.hashmap介绍?新值是放在链表的表头还是表尾?

答错了,正确答案是1.7放在表头,1.8放在表尾。

26.concerrenthashmao介绍?为什么get是安全的?

一开始没想出来,后来说了volatile关键字。

27.一个长度为n的无序数组找到一个和最大值最小值的平均值最接近的数的下标?

没明白在考什么,说了遍历两次,复杂度On。

28.你还有什么问题吗?

对我的学习有什么建议?细节不是很好,多看源码。

啥时候能收到结果?一周内。

 

 

你可能感兴趣的:(阿里面经)