一、开场白
简单的介绍一下自己的工作经历与职责,在校或者工作中主要的工作内容,主要负责的内容;(你的信息一清二白的写在简历上,能答出来的最好写在上面,模棱两可不是很清楚的最好不要写,否则会被问的很尴尬)
介绍下自己最满意的,有技术亮点的项目或平台,重点介绍下自己负责那部分的技术细节;(主要对自己做过的事情是否有清晰的描述)
二、Java基础

  • 什么是字符串常量池?
  • String为什么是不可变的?
  • String s = new String("xyz");究竟产生了几个对象,从JVM角度谈谈?
  • String拼接字符串效率低,你知道原因吗?
  • 你真的了解String的常见API吗?
  • Java中的subString()真的会引起内存泄露么?
  • 浅析Java中的final关键字?
  • 浅析Java中的static关键字?
  • 你对Java中的volatile关键字了解多少?
  • i++是线程安全的吗?如何解决线程安全性?
  • 从字节码角度深度解析 i++ 和 ++i 线程安全性原理?
  • 请谈谈什么是CAS?
  • 从源码角度看看ArrayList的实现原理?
  • 手写LinkedList的实现,彻底搞清楚什么是链表?
  • Java中方法参数的传递规则?
  • Java中throw和throws的区别是什么?
  • 重载和重写的区别?
  • 手写ArrayList的实现,在笔试中如何过关斩将?
  • finally语句块你踩过哪些坑?
  • 为什么重写equals方法需同时重写hashCode方法?
  • equals() 与 == 的区别?
  • StringBuffer和StringBuilder的区别,从源码角度分析?
  • 你知道HashMap的数据结构吗?
  • 为何HashMap的数组长度一定是2的次幂?
  • HashMap何时扩容以及它的扩容机制?
  • HashMap的key一般用字符串,能用其他对象吗?
  • HashMap的key和value都能为null么?如果key能为null,那么它是怎么样查找值的?
  • HashMap是线程安全的吗?如何实现线程安全?
  • 从源码角度分析HashSet实现原理?
  • HashTable与HashMap的实现原理有什么不同?
  • String方法intern() 你真的会用吗?
  • 什么是自动拆装箱?
  • String.valueOf和Integer.toString的区别?

三、Java多线程

  • 线程的生命周期包括哪几个阶段?
  • 多线程有几种实现方式?
  • 请谈谈什么是进程,什么是线程?
  • 启动线程是用start()方法还是run()方法?
  • 说说线程安全问题,什么实现线程安全,如何实现线程安全?
  • sychronized和Lock的区别?
  • sleep()和wait()的区别?
  • 深入分析ThreadLocal的实现原理?
  • 你看过AbstractQueuedSynchronizer源码阅读吗,请说说实现原理?
  • 谈谈对synchronized的偏向锁、轻量级锁、重量级锁的理解?
  • 通过三种方式实现生产者消费者模式?
  • JVM层面分析sychronized如何保证线程安全的?
  • JDK层面分析sychronized如何保证线程安全的?
  • 如何写一个线程安全的单例?
  • 通过AQS实现一个自定义的Lock?
  • ThreadLocal什么时候会出现OOM的情况?为什么?
  • 为什么wait, notify 和 notifyAll这些方法不在thread类里面?
  • 你真的理解CountDownLatch与CyclicBarrier使用场景吗?
  • 出现死锁,如何排查定位问题?
  • notify和notifyAll的区别?
  • 线程池启动线程submit和execute有什么不同?
  • SimpleDateFormat是线程安全的吗?如何解决?
  • 请谈谈ConcurrentHashmap底层实现原理?
  • 使用synchronized修饰静态方法和非静态方法有什么区别?
  • 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其方法?
  • 线程池的原理,为什么要创建线程池?创建线程池的方式?
  • 创建线程池有哪几个核心参数? 如何合理配置线程池的大小?
  • synchronized修饰的静态方法和非静态方法有什么区别?

四、Java Web

  • 什么是Servlet,Servlet生命周期方法?
  • 什么Session和Cookie,它们之间有什么联系?
  • JSP的八个隐含对象有哪些?
  • JSP的四个域对象的作用范围?
  • Post和Get请求的区别?
  • 转发和重定向有什么区别?
  • JSP自定义标签,如何实现循环打印功能?
  • Http1.0和Http1.1的区别是什么?
  • 拦截器与过滤器的区别?

五、JVM面试题

  • JVM内存区域如何划分?
  • JVM堆中对象是如何创建的?
  • JVM对象的结构?
  • JVM垃圾回收-如何判断对象是否是垃圾对象?
  • JVM垃圾回收算法有哪些?
  • JVM垃圾收集器有哪些?
  • JVM内存是如何分配的?
  • 从一道面试题分析类的加载过程?
  • JVM双亲委派机制?
  • JVM可以作为GC Root的对象有哪些?
  • 请写出几段可以导致内存溢出、内存泄漏、栈溢出的代码?
  • 哪些情况会导致Full GC?
  • 频繁GC问题或内存溢出问题,如何定位?

六、SQL性能优化

  • 数据库三范式是什么?
  • 数据库的事务、ACID及隔离级别?
  • 不考虑事务的隔离性,容易产生哪三种情况?
  • 数据库连接池原理?
  • 什么是B-Tree?
  • 什么是B+Tree?
  • MySQL数据库索引结构?
  • 什么是索引?什么条件适合建立索引?什么条件不适合建立索引?
  • 索引失效的原因有哪些?如何优化避免索引失效?
  • MySQL如何启动慢查询日志?
  • MySQL如何使用show Profile进行SQL分析?
  • 一条执行慢的SQL如何进行优化,如何通过Explain+SQL分析性能?
  • 什么是行锁、表锁、读锁、写锁,说说它们各自的特性?
  • 什么情况下行锁变表锁?
  • 什么情况下会出现间隙锁?
  • 谈谈你对MySQL的in和exists用法的理解?
  • MySQL的数据库引擎有哪些,如何确定在项目中要是用的存储引擎?
  • count(*)、count(列名)和count(1)的区别?
  • union和union all的区别?

七、Spring框架

  • Spring的IOC和AOP机制?
  • Spring中Autowired和Resource关键字的区别?
  • 依赖注入的方式有几种,各是什么?
  • Spring容器对Bean组件是如何管理的?
  • Spring容器如何创建?
  • Spring事务分类?
  • Spring事务的传播特性?
  • Spring事务的隔离级别?
  • Spring的通知类型有哪些?

八、SpringMVC框架

  • SpringMVC完整工作流程,熟读源码流程?
  • SpringMVC如何处理JSON数据?
  • SpringMVC拦截器原理,如何自定义拦截器?
  • SpringMVC如何将请求映射定位到方法上面?结合源码阐述?
  • SpringMVC常见注解有哪些?
  • SpringMVC容器和Spring容器的区别?
  • SpringMVC的控制器是不是单例模式,如果是,有什么问题,怎么解决?

九、MyBatis框架

  • MyBatis中#和$的区别?
  • MyBatis一级缓存原理以及失效情况?
  • MyBatis二级缓存的使用?
  • MyBatis拦截器原理?
  • 看过MyBatis源码吗,请说说它的工作流程?

十、Java高级部分

  • Dubbo负载均衡策略?
  • Dubbo中Zookeeper做注册中心,如果注册中心集群都挂掉,发布者和订阅者之间还能通信么?
  • Dubbo完整的一次调用链路介绍?
  • 请说说SpringBoot自动装配原理?
  • 有用过SpringCloud吗,请说说SpringCloud和Dubbo有什么不一样?
  • 什么是WebService,如何基于WebService开发接口?
  • 谈谈项目中分布式事务应用场景?
  • 使用Redis如何实现分布式锁?
  • 请谈谈单点登录原理?
  • Tomcat如何优化?
  • 后台系统怎么防止请求重复提交?
  • Linux常见命令有哪些?
  • 请说说什么是Maven的依赖、继承以及聚合?
  • Git暂存区和工作区的区别?
  • Git如何创建、回退以及撤销版本?
  • 常见的设计模式有哪些?

十一、其他

    • 看过哪些源代码?然后会根据你说的源码问一些细节的问题?(这里主要考察面试者是否对技术有钻研的精神,还是只停留在表面,还是背了几道面经,这个对于很多有强迫症的面试官,如果你连源码都没看过,基本上是会pass掉的!)
    • 项目中遇到了哪些比较有挑战性的问题,是如何解决的;(这个很有争议,一方面是你连一个复杂的问题都解决不了,要你过来干什么,还有就是,我的能力牛逼啊,但是公司没有业务场景让我展示啊!这个就看你遇到的面试官了,祝你好运!)

2019Java常见面试上的更多相关文章

  1. 2019Java常见面试下

    1.集合的作用是什么? 数据的传送增.删.改.查.constainsAll,可以存放不同类型的对象. 2.集合的通用方法有那些?通用方法是什么?(操作) 集合List的遍历方法有: Iterator: ...

  2. Android开发面试经——6.常见面试官提问Android题②(更新中...)

    版权声明:本文为寻梦-finddreams原创文章,请关注:http://blog.csdn.net/finddreams 关注finddreams博客:http://blog.csdn.net/fi ...

  3. Android开发面试经——5.常见面试官提问Android题①

    版权声明:本文为寻梦-finddreams原创文章,请关注:http://blog.csdn.net/finddreams 关注finddreams博客: http://blog.csdn.net/f ...

  4. 机器学习&数据挖掘笔记(常见面试之机器学习算法思想简单梳理)

    机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理) 作者:tornadomeet 出处:http://www.cnblogs.com/tornadomeet 前言: 找工作时( ...

  5. [转]机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)

    机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理) 转自http://www.cnblogs.com/tornadomeet/p/3395593.html 前言: 找工作时(I ...

  6. java异常常见面试问题

    java异常常见面试问题 一.java异常的理解 异常主要是处理编译期不能捕获的错误.出现问题时能继续顺利执行下去,而不导致程序终止,确保程序的健壮性. 处理过程:产生异常状态时,如果当前的conte ...

  7. (转)C/C++ 程序设计员应聘常见 面试笔试 试题深入剖析

    C/C++ 程序设计员应聘常见 面试笔试 试题深入剖析 http://www.nowcoder.com/discuss/1826?type=2&order=0&pos=23&p ...

  8. Hibernate的10个常见面试问题及答案

    在Java J2EE方面进行面试时,常被问起的Hibernate面试问题,大多都是针对基于Web的企业级应用开发者的角色的.Hibernate框架在Java界的成功和高度的可接受性使得它成为了Java ...

  9. Android常见面试笔试题目

    Android常见面试笔试题目 1.在多线程编程这块,我们经常要使用Handler,Thread和Runnable这三个类,那么他们之间的关系你是否弄清楚了呢? 答:可以处理消息循环的线程,他是一个拥 ...

随机推荐

  1. Jquery调用Ajax实现联动使用json

    在很多时候我们都会使用到联动.jquery.js是一个不错的js框架.其ajax也挺不错.下面将实现一个js联动:选择公司出来受益人.根据公司不同受益人不同. 前提是:你用引入jquery.js &l ...

  2. learning armbian steps(9) ----- armbian 源码分析(四)

    在上一节的分析当中,我们知道是通过对话框来选择到底编译的是哪块板子,基于什么样的配置. 接下来我们来拿一个实例来分析一下具体的案例,我们会选中如下所示的版本 iotx-3 AM335X 1Gb SoC ...

  3. MFC消息反射机制

    消息反射机制要解决什么问题呢? 消息反射机制主要是为了控件而实现的.每当控件需要某些资讯(比如,绘制自身背景的画刷,显示字体的颜色等等)时,都会频繁地向其父窗口发送通告消息(notification ...

  4. shell tail 命令

    #显示最后两行 tail -n - filename > newfilename #从开头显示到倒数第二行 head -n - filename > newfilename

  5. 浏览器事件循环机制(event loop)

    JS是单线程的 JS是单线程的,或者说只有一个主线程,也就是它一次只能执行一段代码.JS中其实是没有线程概念的,所谓的单线程也只是相对于多线程而言.JS的设计初衷就没有考虑这些,针对JS这种不具备并行 ...

  6. 解决phpStorm使用vue提示"Attribute v-xxx is not allowed here"的问题

    jetbrains家族的新版webStorm.phpStorm等工具都已支持vue,不需要自己再安装Vue.js插件,对vue单文件组件支持挺好.但是在html文件中直接<script>引 ...

  7. 微信小程序之scroll-view的坑

    好久没动小程序了,今天打算复习复习,结果刚写了一个scroll-view就遇到了一个坑,这怎么能忍,对比看文档也没发现那里出了问题,没办法只能去翻翻微信给的demo,发现scroll-view一个必要 ...

  8. ScreenShot 截图工具类

    import android.app.Activity; import android.graphics.Bitmap; import android.graphics.Rect; import an ...

  9. PackageUtils

    import android.content.Context; import android.content.Intent; import android.content.pm.Application ...

  10. 配置 admin 页面

    创建 blog 的管理后台 首先是 blog 这个 App,其中定义了 3个 Model,分别是 Category.Post 和 Tag.先创建 admin 页面,其代码需要写到 blog/admin ...