java面试

作者: he_321 | 来源:发表于2018-01-10 21:58 被阅读28次

    宝宝点击这里寻找部分答案

    自我介绍

    java基础

    1、线程

    进程和线程的区别
    线程间通信方法,Java如何实现
    怎么用信号量实现资源共享
    那知道线程安全吗?程序中是如何实现并发的?如何选择使用哪一个,有什么区别
    对线程安全怎么看
    如何让线程安全
    线程常见状况
    线程池,callable,ExecutorService源码,参数含义
    并发集合包
    线程同步的四种方式(临界区,互斥量,事件,信号量)
    实现线程安全的几种方式(synchonized,显示锁,volatile,ThreadLocal)
    那你在平时写过多线程的程序吗,写过什么

    2、反射

    如何进行反射,如何提高反射的性能

    3、jvm

    jvm1.8与1.7区别
    说一说Java内存模型?
    说说堆的分区
    说说什么是内存溢出和内存泄露
    介绍JVM中7个区域,然后把每个区域可能造成内存的溢出的情况说明
    介绍GC 和GC Root不正常引用
    volatile的底层原理
    说一下虚拟机的分区,计数区的作用,虚拟机栈里放的是什么
    GC原理,新生代和老年代的特点,各自采用什么垃圾回收算法,新生代的对象什么时候移到老年代去

    4、设计模式

    那你都了解哪些模式呢,实际用过什么?
    什么情况适合使用适配器模式
    单例模式,手写代码,写一个单例模式,饱汉与饿汉的区别
    如何实现java的代理,为什么需要实现接口

    5、面向对象思想,抽象,封装、继承,多态

    用面向过程可以实现面向对象吗?

    6、集合类

    你用过哪些集合?
    treemap的实现原理
    iterator迭代器用法
    hashmap的实现原理,容量超了怎么办
    HashMap线程安全吗?
    Hashmap的底层是怎么实现的?
    谈谈hashmap的扩容
    Hashmap如果Key值放置的是object对象,需要怎么做?
    concurrenthashmap的实现原理
    ConcorrentHashMap安全吗?
    ConcorrentHashMap是用怎样的锁?谈谈concurrenthashmap的加锁原理
    hashset怎么实现?底层是hashmap
    hashmap、concurrenthashmap底层实现和区别
    treeset怎么实现?

    7、异常

    9、IO,NIO

    Java中对象的序列化相关问题
    介绍下NIO
    讲讲IO里面的常见类,字节流字符流。

    10、其他

    Java有哪些基本类型
    熟悉Java中的哪些类
    int与Integer的区别,分别什么场合使用
    Java用过哪些数据结构
    stringbuffer与stringbuilder的区别
    string与stringbuilder的区别
    string类有哪些方法
    深拷贝与浅拷贝描述
    String有重写Object的hashcode和toString吗?
    如果重写equals不重写hashcode会出现什么问题?String 为什么要重写这两个方法?
    那如果你定义一个类,包括学号,姓名,分数,如何把这个对象作为key要重写equals和hashcode吗
    java的基础类型和字节大小。
    MD5加盐
    comparable与comparator的区别

    10、maven,git

    maven、git常用命令,是否用过github。

    计算机网络

    TCP/IP四层模型结构,各层有哪些协议
    TCP与UDP的区别
    3次握手描述
    3次握手描述
    是否了解针对3次握手的恶意攻击,如何应对
    知道TCP、IP的连接过程吗?我问是三次握手吗?
    如果只有两次会怎样?那两次服务端会怎样?
    如果客户端不断的发送请求连接会怎样?
    那怎么知道连接是恶意的呢?可能是正常连接?
    GET和POST的区别?
    说说TCP/IP 三次握手
    TCP中断连接四次挥手?
    http,tcp,udp之间关系和区别。
    浏览器访问www.taobao.com,经历了怎样的过程。
    说说网络七层结构
    谈谈物理层,数据链路层,传输层
    传输层协议端对端是什么意思
    你了解的应用层协议有什么?它们用的传输层协议是什么
    tcp的可靠传输是什么意思,如何实现
    那你说说吧,你了解的网络协议相关的知识,TCP、IP的
    你知道CLOSE_WAIT这个状态吗
    你知道长连接与短连接吗?
    说说HTTP中的长连接吧,keep-alive相关

    数据库

    会使用哪些数据库
    SQLServer与MySQL的比较
    MySQL中有哪些索引,怎么实现的
    索引为什么会提高效率
    索引为什么不是越多越好
    在Java中调用存储过程的方法
    数据库中的范式
    MySQL的事务操作
    B树和B+树的区别
    会用哪些数据库
    MySQL看过哪些书
    分析悲观锁和乐观锁
    数据库索引(b tree,b+tree)
    数据库事务,事务隔离级别
    MYSQL数据库两种数据存储引擎。
    我说了B+树,并且说了聚集索引和非聚集索引
    怎么防止幻读?

    web框架

    能介绍下mybatis的原理么?
    mybatis中集合怎么进行映射配置,级联(分为一对一,一对多)
    讲讲mybatis的连接池。
    那你说一下你对Spring的认识吧。
    然后我说了源码里IOC容器的初始化的整个过程
    那你觉得IOC最大的好处是什么呢?
    介绍下AOP吧
    那你觉得AOP用到了哪种设计模式呢
    那再介绍下IOC吧
    spring框架的原理
    spring底层数据结构
    讲讲spring IOC原理以及生命周期。
    springAOP可以使用哪些代理,有什么区别
    hibernate一级缓存和二级缓存,hibernate其他缓存
    hibernate事务传播行为种类
    hibernate如何实现声明式事务
    springmvc原理
    web中安全性问题的考虑,如何防止
    web系统整体架构
    springmvc的处理请求流程
    springmvc用过哪些注解
    为什么要分三层
    什么是restful web service?
    Spring mvc的DispatcherServlet源码,工作机制。
    spring中webApplicationContext上下文的初始化

    项目

    算法

    如何求二叉树中两个节点的最短路径,有没有更快的方法
    堆排序是稳定的吗?稳定和不稳定会导致什么问题?
    二分查找复杂度是?
    基数排序么?
    各种排序以及应用场景(快排,归并,堆排,选择排)。
    给你10亿个数,选择10个最小的,最优算法。
    什么是数据结构
    数据结构和数据类型的区别

    Linux

    linux常用命令。

    其他

    服务器集群。
    dubbo的原理,使用dubbo中出现的问题
    dubbo消费者调用服务的时候要不要通过注册中心
    简单说下redis。
    redis的几种数据类型,底层如何实现
    redis除了做缓存,还有其他地方用到吗?
    nginx配置过吗?谈谈正向代理和反向代理
    用redis做缓存遇到过什么问题?缓存同步
    那你怎么解决缓存同步问题的?

    相关文章

      网友评论

        本文标题:java面试

        本文链接:https://www.haomeiwen.com/subject/vmcanxtx.html