作者:榨汁机2号
链接:https://www.nowcoder.com/discuss/164019
3月12号现场面试的, 感觉好像所有人有3面的样子。到目前也没有消息,有消息的吱一声,让我早点死了这个心…..
一面
1 Java的八大基本类型
byte、short、int、long、float、double、char、boolean。
2 Java除了基本类型以外还有哪些类能表示数字
这个题目在我的理解来说,如果不认真思考,可能很难听懂面试官说的是什么意思。
我想,面试官的意思是,在 Java 中基本的数据类型有8种是可以来表示数字的,但是,Java 中除了有基本类型还有包装类型,通过装箱拆箱机制,同样可以表示数字。
不仅仅如此,还有大数的类可以表示数字:两个高精度大整数BigInteger 和高精度浮点数BigDecimal。
具体用法查看https://www.cnblogs.com/yxwkf/p/5332157.html
另外,除了这个大数类型外,还有原子类型AtomicBoolean,AtomicInteger,AtomicLong,AtomicReference,AtomicIntegerFieldUpdater, AtomicLongFieldUpdater, AtomicReferenceFieldUpdater 。
具体查看https://www.cnblogs.com/yuyutianxia/p/7154645.html
3 介绍JVM堆和栈,有什么用,A a = new A();各放在哪个位置
堆:FIFO队列优先,先进先出。jvm只有一个堆区被所有线程所共享!堆存放在二级缓存中,调用对象的速度相对慢一些,生命周期由虚拟机的垃圾回收机制定。
栈:FILO先进后出,暂存数据的地方。每个线程都包含一个栈区!栈存放在一级缓存中,存取速度较快,“栈是限定仅在表头进行插入和删除操作的线性表”。
方法区:用来存放方法和static变量。
二、存储的数据类型
1、堆用来存储new出来的对象和数组
2、栈用来存储基本类型变量和对象的引用变量的地址
3、方法区存储方法和static变量
三、优缺点
1、堆的优点-可以动态的分配内存大小,生命周期不确定。缺点-速度略慢
2、栈的优点-速度快,缺点-存在栈中的数据大小和生命周期必须是明确的,缺少灵活性。
关于Jvm的文章https://blog.csdn.net/qq_20641565/article/details/60332593
4 HashMap扩容过程,初始容量,和HashTable的区别
Java7 HashMap详解 https://mp.weixin.qq.com/s/mUhMeZ3r500cQSzkwZrBww
5 构造线程的方法
继承Thread类,实现Runnable接口,实现Callable接口,线程池。
下面是我的csdn博客的一篇文章,详细说明了https://blog.csdn.net/sihai12345/article/details/80256322
6 线程池构造器的参数和作用
我的博客文章,详细说明了https://blog.csdn.net/sihai12345/article/details/82870009
7 mysql有哪些引擎,区别
这张图可以解决
8 mysql优化
mysql优化https://mp.weixin.qq.com/s/OeKXHpnk72kp37E6z97xMA
9 spring IOC的作用,有哪些注解,有什么用
老问题了,分享一篇简单易懂的文章https://www.cnblogs.com/xdp-gacl/p/4249939.html
10 手写一个快排
分享一篇我看过的很好的文章http://developer.51cto.com/art/201403/430986.htm
二面
整个二面都在聊项目,过程中面试官问的很细,让我整个项目数据库的表画出来,讲各表之间的联系,为什么这么设计,然后聊能不能改进等等。我感觉面试官可能对我的项目感兴趣,二面持续了将近40分钟一直在聊项目,这是三面中体验最好的。(面试官真的nice,很平易近人的感觉)
HR面
这个应该大家都差不多,就不细讲了。
最后HR说最迟下周出结果,这熬的是真的难受…..