面向对象编程的基本理念与核心设计思想
-
解释下多态性(polymorphism),封装性(encapsulation),内聚(cohesion)以及耦合(coupling)。
-
继承(Inheritance)与聚合(Aggregation)的区别在哪里。
-
你是如何理解干净的代码(Clean Code)与技术负债(Technical Debt)的。
-
描述下常用的重构技巧。
-
阐述下 SOLID 原则。
-
其他的譬如 KISS,DRY,YAGNI 等原则又是什么含义。
-
什么是设计模式(Design Patterns)?你知道哪些设计模式?
-
你有了解过存在哪些反模式(Anti-Patterns)吗?
-
你会如何设计登陆舰/数学表达式计算程序/一条龙?
-
你知道哪些基本的排序算法,它们的计算复杂度如何?在给定数据的情况下你会倾向于使用哪种算法呢?
-
尝试编写如下代码:
-
计算指定数字的阶乘
-
开发 Fizz Buzz 小游戏
-
倒转句子中的单词
-
回文字符串检测
-
枚举给定字符串的所有排列组合
-
Java 核心概念
-
equals 与 hashCode 的异同点在哪里?Java 的集合中又是如何使用它们的。
-
描述下 Java 中集合(Collections),接口(Interfaces),实现(Implementations)的概念。LinkedList 与 ArrayList 的区别是什么?
-
基础类型(Primitives)与封装类型(Wrappers)的区别在哪里?
-
final 与 static 关键字可以用于哪里?它们的作用是什么?
-
阐述下 Java 中的访问描述符(Access Modifiers)。
-
描述下 String,StringBuilder 以及 StringBuffer 区别。
-
接口(Interface)与抽象类(Abstract Class)的区别在哪里。
-
覆盖(Overriding)与重载(OverLoading)的区别在哪里。
-
异常分为哪几种类型?以及所谓的handle or declare原则应该如何理解?
-
简述垃圾回收器的工作原理。
-
你是如何处理内存泄露或者栈溢出问题的?
-
如何构建不可变的类结构?关键点在哪里?
-
什么是 JIT 编译?
-
Java 8 / Java 7 为我们提供了什么新功能?即将到来的 Java 9 又带来了怎样的新功能?
Hibernate / 数据库
-
请解释下 ORM。
-
简述下 Hibernate 的优劣特性。
-
Hibernate 与 JPA 区别在哪?
-
Hibernate 最新版提供了哪些特性?
-
什么是懒加载(Lazy Loading)?
-
什么是 N+1 难题?
-
介绍一些熟悉的 Hibernate 注释。
-
简介下 Hibernate Session 与 SessionFactory。
-
Entity Beans 的状态有哪些。
-
Hibernate 中的缓存分为几层。
-
Hibernate 中事务的支持分为几级?
-
什么是乐观锁(Optimistic Locking)?
-
简述下 ACID 原则。
-
简述下数据库正则化(Normalizations)。
-
请介绍下你日常工作中优化慢查询(Slow Query)的策略。
Spring
-
新版的 Spring 中有哪些新特性?
-
介绍下 Spring 的优势与缺陷。
-
什么是控制反转(Inversion of Control)与依赖注入(Dependency Injection)?
-
你用过哪些 Spring 的模块?
-
Spring 中是如何使用依赖注入的?
-
Spring 中提供了几种自动注入的机制?
-
介绍下 Spring MVC。
-
Spring 中 Scopes 有哪些?
-
Spring 中 Bean 的生命周期包含哪些步骤?
-
Spring Bean 与 EJB Bean 的区别在哪里?
其他主题
-
介绍下切面编程(Aspect Oriented Programming)。
-
概述下 GET 与 POST 的区别。
-
Web Server、Web Container 与 Application Server 的区别是什么?
-
简要介绍下从浏览器输入 URL 开始到获取到请求界面之后 Java Web 应用中发生了什么。
-
什么是 N 层架构?
-
微服务(MicroServices)与巨石型应用(Monolithic Applications)之间的区别在哪里?
-
你知道哪些商业级设计模式?
-
你是如何测试一个应用的?知道哪些测试框架?
-
你是如何测试单个方法的?
-
在你的职业生涯中,算得上最困难的技术挑战是什么?
-
什么是领域驱动开发(Domain Driven Development)?
-
介绍下一些你最爱的 IDE 的常用插件。
-
除了 IDE 之外,你的日常工作中还会用到哪些工具?
-
你使用什么版本管理工具?
-
分支(Branch)与标签(Tag)之间的区别在哪里?
-
你常用的持续集成(Continuous Integration)、静态代码分析(Static Code Analysis)工具有哪些?
相关推荐
5年左右java进阶面试题汇总。包含java基础,数据库,多线程,mybatis,redis,springcloud,Elasticsearch,等技术题。关键是doc格式。
JAVA基础编程练习题50题及经典算法90题+2021年Java高进进阶面试题【含源码及答案】适用于初级,中级+高级以及0基础入门级开发者
中华石杉--互联网Java进阶面试训练营 [] [] [] [] [] [] [] [] [] [] 内容说明: 本仓库存放的是公众号【狸猫技术窝】和中华石杉老师合作的课程《互联网Java进阶面试训练营》的笔记,版权归狸猫技术窝所有,侵权将...
Java面试进阶训练营 第2季(分布式篇), 金三银四,面试大厂必备,对自己有很大的提升,用最通俗易懂的语言解释常考面试题
java程序员,面试必须知识,常见面试题
Java 进阶之路,互联网一线大厂面试真题解析、经验分享.zip
02 10道Java高级必备的Netty面试题!.pdf 03 10道Java面试必备的设计模式面试题!.pdf 04 10个Java经典的List面试题!.pdf 05 10个Java经典的Main方法面试题!.pdf 06 10个Java经典的String面试题!.pdf 07 15道经典...
2018版黑马程序员Java最新进阶视频全集,包括java面试题,学习路线图,配套工具。一应俱全。
java进阶,包含 常用设计模式、线程和并发、spring核心代码、mybatis核心代码、springboot2.0、springcloud G版本、docker的使用、各类面试题。
2023最全的Java大厂面试题合集,共30+专题。包含计算机网络、多线程、数据库、分布式等专题。 微服务架构面试专题系列 几本霸占我休息时间的PDF 分享网约车 分享redis 大厂面试 Java面试题库 Java面试大全+...
2020年《Java面试题手册》,最全的面试题。掌握了他,你就掌握了找工作的主动权。抓紧下载吧,抓紧学习吧
Java前后开发面试题,大厂进阶之路,基于JavaGuide、Cyc大佬、牛客上的面经及王道考研相关视频,并改进了其中说法矛盾或含糊之处。 包含计算机网络知识、JavaSE、JVM、Spring、Springboot、SpringCloud、Mybatis、多...
Java最新大厂面试题,结合所有大厂面面俱到的基础题型、进阶提型,适合有一定基础的人群,深度、广度均已涉及!还有配套的spring boot以及spring cloud项目(源码+视屏+相关资料),下单后需要给我留言哦!
java进阶,包含 常用设计模式、线程和并发、spring核心代码、mybatis核心代码、springboot2.0、springcloud 、docker的使用、各类面试题。
提供了20道高难度的Java Object类面试题及详细答案解析,涵盖了equals()、hashCode()、toString()、clone()、finalize()等方法的重写和应用,以及对象的比较、克隆、标识哈希码等概念。适合准备Java面试的开发者深入...
目录 一、 JavaSE 部分 1、 Java 基础 ①Java 基础部分(基本语法, Java 特性等) ②关键字 ③面向对象 ④集合部分 2、 Java 高级知识 ①线程 ②锁 ...三、 Java web 开发核心内容 ...十、 场景题 十一、 UML
java面试题 整理,包括基础 进阶 算法并发 中间件
本文精选了20道高难度的Java多态性面试题,并提供详细的答案解析,涵盖了多态性的概念、实现方式、绑定类型、重写与重载的区别等关键知识点。通过深入理解和掌握Java多态性,可以提升面试者的编程能力和解决问题的...