JavaSE 面试题汇总

大公司

标题

重点内容

高阶

OJ

标题

基本数据类型
基本数据类型及其包装类区别?
1. 基本数据类型,另一个是包装类;
2. 虽然一个是值一个是对象。但两者值相等在比较时,有自动拆装箱机制,两者会相等;
3. 包装类对象存在堆中,基本数据类型在常量池或栈中;

面向对象
Java多态的理解?

常用工具类

集合
collection的理解,选择一种说下底层实现?

HashMap,HashTable,ConcurrentHashMap区别?

I/O

多线程
多线程,线程与进程有什么区别?结合内存说下

常见原理
IOC

AOP(Aspect Oriented Programming),意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。

JVM
JVM内存模型,JVM加载原理。
内存空间(Runtime Data Area)中可以按照是否线程共享分成两块,线程共享的是方法区(Method Area)和堆(Heap),线程独享的是Java栈(Java Stack),本地方法栈(Native Method Stack)和PC寄存器(Program Counter Register)。

1.8中-XX
ermSize 和 -XX:MaxPermSize 已经失效,取而代之的是一个新的区域 —— Metaspace(元数据区)。

在 JDK 1.7 及以往的 JDK 版本中,Java 类信息、常量池、静态变量都存储在 Perm(永久代)里。类的元数据和静态变量在类加载的时候分配到 Perm,当类被卸载的时候垃圾收集器从 Perm 处理掉类的元数据和静态变量。当然常量池的东西也会在 Perm 垃圾收集的时候进行处理。
JDK 1.8 的对 JVM 架构的改造将类元数据放到本地内存中,另外,将常量池和静态变量放到 Java 堆里。HotSopt VM 将会为类的元数据明确分配和释放本地内存。在这种架构下,类元信息就突破了原来 -XX:MaxPermSize 的限制,现在可以使用更多的本地内存。这样就从一定程度上解决了原来在运行时生成大量类的造成经常 Full GC 问题,如运行时使用反射、代理等。
所以升级以后Java堆空间可能会增加。

计算机网络
浏览器缓存对于HTTP Method中Get和Post的请求是否支持,答案就是不支持Post Method。Get可以被浏览器缓存。

数据库
mysql innoDB join只支持Nested Loop,不支持Hash Join,就是确定一个驱动表后不断Join得到结果集,再继续往下Join。所以Join的顺序很重要。
索引只知道数据结构是B+Tree

加分项
准备一些秘密武器,譬如Java的虚拟机的内容、IO包和NIO包中的内容、Java的数据结构相关的类实现原理、Java并发包当中的(类、作用、实现原理)这四块你能够非常精通,那基本上面试不会有太多问题。

软件工程
高内聚,低耦合理解?

面试经验

简介
一面通常是聊一些java基本功,二面就是聊项目,三面谈理想和人生。

一面
java一面问题,通常面试官的提问都有逻辑性,抓住他的逻辑主线,你就可以大致知道他下面要问什么。

二面

三面

四面

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值