Java面试题一


title: Java面试题一
date: 2019-01-09 22:45:19
tags: Java
comments: true

一、基础篇

1.1 Java基础

  • 面向对象的特征:继承、封装和多态
  • final、finally和finallize的区别
  • Exception、Error、运行时异常与一般异常有何异同
  • 请写出5种常见的RuntimeException
  • int和Integer有什么区别,Integer的值缓存范围
  • 包装类、装箱和拆箱
  • String、StringBuilder、StringBuffer
  • 重载和重写
  • 抽象类和接口有什么区别
  • 说说反射的用途及实现
  • 说说自定义注解的场景及实现
  • HTTP请求的GET和POST方式的区别
特征GET方法POST方法
提交数据类型文本文本、二进制文件
提交数据长度不超过255个字符没有限制
提交数据可见性作为URL地址的一部分显示在浏览器地址栏作为请求的消息体,不可见
提交数据缓存缓存在浏览器URL历史状态中不会被浏览器缓存
  • Session和Cookie的区别
  • 列出自己常用的JDK包
  • MVC设计思想
  • equals与==的区别
  • hashCode和equals方法的区别与练习
  • 什么是Java序列化和反序列化,如何实现Java序列化?或者请解释Serializable接口的作用
  • Object类常见的方法,为什么wait()、notify()会放在Object里边?
  • Java的平台无关性如何体现出来的
  • JDK和JRE的区别
  • Java8有哪些新特性

1.2 Java常见集合

  • List、Set和Map的区别
  • Set和hashCode以及equals方法的联系
  • ArrayList和LinkedList的区别
  • ArrayList和Vector的区别
  • HashMap和HashTable的区别
  • HashMap和CurrentHashMap的区别
  • HashMap的工作原理及代码实现,什么时候用到红黑树
  • 多线程情况下HashMap死循环的问题
  • HashMap出现Hash Dos攻击的问题
  • ConcurrentHashMap的工作原理及代码实现,如何统计所有的元素个数
  • 手写简单的HashMap
  • 看过哪些Java集合类的源码

1.3 进程和线程

  • 线程和进程的概念、并行和并发的概念
  • 创建线程的方式及实现
  • 进程间通信的方式
  • 说说CountDownLatch、CyclicBarrier原理和区别
  • 说说Semaphore原理
  • 说说Exchanger原理
  • ThreadLocal原理分析,ThreadLocal为什么会出现OOM,出现的深层次原理

to be continued…

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值