2017-12-28

一,阿里巴巴面试题


2017-12-28_第1张图片
image

Map----->SortedMap------>TreeMap
Collection---->List----->(Vector \ ArryList \ LinkedList)
Map------>HashMap\ Hashtable
Collection---->Set------>(HashSet \ LinkedHashSet \ SortedSet)

Fail-Fast机制:
我们知道java.util.HashMap不是线程安全的,因此如果在使用迭代器的过程中有其他线程修改了map,那么将抛出ConcurrentModificationException,这就是所谓fail-fast策略。

工作原理
上面的是springMVC的工作原理图:

1、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet.

2、DipatcherServlet接收到这个请求之后将根据请求的信息(包括URL、Http方法、请求报文头和请求参数Cookie等)以及HandlerMapping的配置找到处理请求的处理器(Handler)。

3-4、DispatcherServlet根据HandlerMapping找到对应的Handler,将处理权交给Handler(Handler将具体的处理进行封装),再由具体的HandlerAdapter对Handler进行具体的调用。

5、Handler对数据处理完成以后将返回一个ModelAndView()对象给DispatcherServlet。

6、Handler返回的ModelAndView()只是一个逻辑视图并不是一个正式的视图,DispatcherSevlet通过ViewResolver将逻辑视图转化为真正的视图View。

7、Dispatcher通过model解析出ModelAndView()中的参数进行解析最终展现出完整的view并返回给客户端。

原理详解:
MyBatis应用程序根据XML配置文件创建SqlSessionFactory,SqlSessionFactory在根据配置,配置来源于两个地方,一处是配置文件,一处是Java代码的注解,获取一个SqlSession。SqlSession包含了执行sql所需要的所有方法,可以通过SqlSession实例直接运行映射的sql语句,完成对数据的增删改查和事务提交等,用完之后关闭SqlSession。

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)
Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
二,京东面试题


2017-12-28_第2张图片
image

三,美团面试题


2017-12-28_第3张图片
image

四,滴滴面试题


2017-12-28_第4张图片
image

五,本次卧底面试得到的结论


通过面试题来看,可以看出目前互联网公司面试考点为:

1.性能调优、算法数据机构

2.高并发下数据安全、接口冪等性、原子性等

3.分布式下协同、已经锁的处理

4.数据库的分库分表、项目之间的垂直拆分

出现频率高的技术点有:

1.HashMap

2.JVM

3.Dubbo

4.Mybatis

5.Zookeeper

6.http tcp/ip

你可能感兴趣的:(2017-12-28)