美团Android开发面试题
前言
一 基础篇
System.out.println(3|9)输出什么?
说一下转发(Forward)和重定向(Redirect)的区别
在浏览器中输入url地址到显示主页的过程,整个过程会使用哪些协议
TCP 三次握手和四次挥手
- 为什么要三次握手
- 为什么要传回 SYN
- 传了 SYN,为啥还要传 ACK
- 为什么要四次挥手
IP地址与MAC地址的区别
HTTP请求,响应报文格式
为什么要使用索引?索引这么多优点,为什么不对表中的每一个列创建一个索引呢?索引是如何提高查询速度的?说一下使用索引的注意事项?Mysql索引主要使用的两种数据结构?什么是覆盖索引?
进程与线程的区别是什么?进程间的几种通信方式说一下?线程间的几种通信方式知道不?
为什么要用单例模式?手写几种线程安全的单例模式?
简单介绍一下bean;知道Spring的bean的作用域与生命周期吗?
Spring 中的事务传播行为了解吗?TransactionDefinition 接口中哪五个表示隔离级别的常量?
- 事务传播行为
- 隔离级别
SpringMVC 原理了解吗?
Spring AOP IOC 实现原理
二 进阶篇
1 消息队列MQ的套路
- 介绍一下消息队列MQ的应用场景/使用消息队列的好处
1)通过异步处理提高系统性能
2)降低系统耦合性 - 那么使用消息队列会带来什么问题?考虑过这些问题吗?
- 介绍一下你知道哪几种消息队列,该如何选择呢?
- 关于消息队列其他一些常见的问题展望
2 谈谈 InnoDB 和 MyIsam 两者的区别
- 两者的对比
- 关于两者的总结
3 聊聊 Java 中的集合吧!
- Arraylist 与 LinkedList 有什么不同?(注意加上从数据结构分析的内容)
- HashMap的底层实现
1)JDK1.8之前
2)JDK1.8之后 - 既然谈到了红黑树,你给我手绘一个出来吧,然后简单讲一下自己对于红黑树的理解
- 红黑树这么优秀,为何不直接使用红黑树得了?
- HashMap 和 Hashtable 的区别/HashSet 和 HashMap 区别
三 末尾篇
- Object类有哪些方法?
- Object类的常见方法总结
- hashCode与equals
1) hashCode()介绍
2) 为什么要有hashCode
3) hashCode()与equals()的相关规定
4) 为什么两个对象有相同的hashcode值,它们也不一定是相等的? - ==与equals
2 ConcurrentHashMap 相关问题
- ConcurrentHashMap 和 Hashtable 的区别
- ConcurrentHashMap线程安全的具体实现方式/底层具体实现
1)JDK1.7(上面有示意图)
2)JDK1.8(上面有示意图)
3 谈谈 synchronized 和 ReenTrantLock 的区别
4 线程池了解吗?
- 为什么要用线程池?
- Java 提供了哪几种线程池?他们各自的使用场景是什么?
1)Java 主要提供了下面4种线程池
2)各种线程池的适用场景介绍 - 创建的线程池的方式
5 Nginx
- 简单介绍一下Nginx
1)反向代理
2)负载均衡
3)动静分离 - 为什么要用 Nginx?
- Nginx 的四个主要组成部分了解吗?
公众号:Jasper_vlog,专注分享面试题|面试技巧|Android学习资料。
#Android##Android面试##美团##面试题#