For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
Java编程开发语言是目前大多数人在转型互联网行业的时候都需要熟练掌握的一个编程开发语言,而本文我们就通过案例分析来了解一下,Java编程开发语言需要掌握哪些基础知识。
容器(HashMap、HashSet、LinkedList、ArrayList、数组等)
需要了解其实现原理,还要灵活运用,如:自己实现LinkedList、两个栈实现一个队列,数组实现栈,队列实现栈等。
HashMap、HashTable和CurrentHashMap的核心区别(并发),其次内部数据结构的实现、扩容、存取操作,再深一点哈希碰撞,哈希计算,哈希映射,为什么是头插法,扩容为什么是2的幂次等。
垃圾回收算法(JVM)
JVM类加载机制、垃圾回收算法对比、Java虚拟机结构
当你讲到分代回收算法的时候,不免会被追问到新生对象是怎么从年轻代到老年代的,以及可以作为root结点的对象有哪些两个问题。
谈谈对JVM的理解?
JVM内存区域,开线程影响哪块区域内存?
对Dalvik、ART虚拟机有什么了解?对比?
垃圾回收机制和调用System.gc()的区别?
类加载过程(需要多看看,重在理解,对于热修复和插件化比较重要)
反射
多线程和线程池
线程有哪些状态,哪些锁,各种锁的区别
并发编程:
synchronized和volatile、ReentrantLock、CAS的区别
synchronized修饰实例方法和修饰静态方法有啥不一样。
sleep、wait、yield的区别,wait的线程如何唤醒它
HTTP、HTTPS、TCP/IP、Socket通信、三次握手四次挥手过程
计算机网络部分:
TCP有哪些状态
三次握手、四次挥手。为啥不是三次不是两次
HTTPS和HTTP的区别,HTTPS2.03.0?
浏览器输入一个URL按下回车网络传输的流程?
问的深一点的可能涉及到网络架构,每层有什么协议,FTP相关原理,例:TCP建立连接后,发包频率是怎么样的?
设计模式(六大基本原则、项目中常用的设计模式、手写单例等)
1、生产者模式和消费者模式的区别?
2、单例模式双重加锁,为什么这样做?
3、知道的设计模式有哪些?
4、项目中常用的设计模式有哪些?
5、手写生产者、消费者模式。
6、手写观察者模式代码。
7、适配器模式、装饰者模式、外观模式的异同?
8、谈谈对java状态机的理解。
9、谈谈应用更新(灰度、强制更新、分区更新?)
断点续传
Java四大引用
强引用、软引用、弱引用、虚引用的区别以及使用场景。
强引用置为null,会不会被回收?
稍微问的深一些的面试官会和内存泄漏检测原理以及垃圾回收糅杂在一起。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。