饿了么面试题整理

1、简历上写第一位的项目都具体实现思路,或在简历上挑选几个项目询问,包括整体架构、遇到的问题、使用的技术、在项目中承担的任务、最后实现的成果、个人觉得还有哪些可以改进的

2、http和https的区别,https原理,http2.0与1.0的区别

3、Java的垃圾回收机制,Java文件加载机制,tomcat类加载机制,锁机制,jvm原理及线上调优,jvm内存模型

4、多线程,有哪些可以保持进程同步的方法,创建线程的几种方法,对i++多线程访问你会怎么做

5、Java的设计模式,单例有什么模式,懒汉为什么加volotile,volotile的内存屏障,如何避免死锁

6、考虑单例模式的编写,要线程安全且内存消耗小(剑指offer原题)

7、String、StringBuilder、StringBuffer区别;String类能被继承吗?为什么

8、在白纸上手写二分法排序算法(lintcode上原题);二分查找的思想

9、查找单链表中倒数第k个节点的算法,手写(lintcode上原题);最常见的排序算法你见过哪些,快排的基本思想及时间复杂度

10、常见的数据结构有哪些

11、hashmap、hashcode一样,不equals怎么处理 ;hashcode实现原理,currentHashMap原理,实现细节,怎么实现同步的;类为什么要有hascode方法,是不是主要在集合类中都要实现hashcode方法;equals方法怎么实现;两个不同的对象可能有相同的hashcode值吗;常用集合有哪些

12、static初始化时间顺序,动态代理

13、ams具体怎么找到对应哪个activity的

14、bindservice、startservice生命周期

15、广播分为几种

16、okhttp有什么优秀的设计模式

17、sql相关

18、tcp三次握手,四次挥手协议

19、架构设计一个开发性问题,设计一个Nginx管理的中间件,怎么设计

20、android怎么提高编译速度

21、tinker原理,为什么AndFix不支持类的替换

22、Recyclerview的优化 四级缓存 在请求接口时候就进行viewholder的初始化

23、xml inflate成一个view的过程 怎么优化

24、项目的优化,怎么提高app编译速度,将模块解藕,拆分成单个module

25、sleep wait区别

26、Java CountDownLatch的考察

27、所有的类都继承与object,你用过object类的直接子类有哪些,object类常用的方法有哪些

28、== equals区别

29、throwable有哪些子类,你遇到过哪些运行时异常

30、Java会出现内存泄漏吗,如果回,在哪种情况下

31、抽象类和接口的区别

32、平时怎么扩展自己的专业知识水平

你可能感兴趣的:(面试题)