面向对象编程的基本理念与核心设计思想
-
解释下多态性(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)工具有哪些?
相关推荐
这份"JAVA基础编程练习题50题及经典算法90题+2021年Java高进进阶面试题【含源码及答案】.rar"资料,无疑是为不同层次的Java学习者,包括初级、中级、高级甚至零基础的开发者提供了一次绝佳的自我提升机会。...
"Java 面试题及其答案.doc"和"JAVA面试题.doc"提供了大量的面试题及解答,涵盖了从基础知识到高级特性的广泛范围,包括反射、注解、设计模式、Spring框架、数据库操作等。通过这些题目,求职者可以自我评估,了解...
中华石杉--互联网Java进阶面试训练营 [] [] [] [] [] [] [] [] [] [] 内容说明: 本仓库存放的是公众号【狸猫技术窝】和中华石杉老师合作的课程《互联网Java进阶面试训练营》的笔记,版权归狸猫技术窝所有,侵权将...
java进阶面试题,内涵答案。超详细
二、Java进阶知识 集合框架:熟悉Java集合框架中的List、Set、Map等接口及其实现类,如ArrayList、HashSet、HashMap等。 泛型:理解泛型的概念及其在Java中的应用,如泛型类和泛型方法。 并发编程:了解Java中的...
标题“Java高级进阶面试题目.pdf”表明这是一份涵盖Java高级技术点的面试题资料,它适用于那些寻求在Java领域深入发展的求职者或者技术提升者。描述中的“Java高级进阶面试题目”进一步细化了这份资料的定位,即为...
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知识,通过深入学习和实践,不仅可以提高对Java语言的理解,也能为面试做好充分准备。在解答过程中,结合实际项目经验,将有助于展示自己的专业素养和问题解决能力。
尽管列表中“empty_file.txt”可能是空文件或误添加,但“JavaAdvanced-master”很可能是一个包含源代码、笔记或其他学习资源的文件夹,可能涵盖了许多Java进阶主题。 1. **基础巩固**:在Java进阶的过程中,扎实的...
java进阶,包含 常用设计模式、线程和并发、spring核心代码、mybatis核心代码、springboot2.0、springcloud G版本、docker的使用、各类面试题。
Java面试宝典是Java程序员求职面试的重要参考资料,它涵盖了Java编程语言的核心概念、高级特性、设计模式、并发处理、框架应用、数据库交互等多个方面。以下将详细解析这些关键知识点: 1. **Java基础**:面试中,...
2023最全的Java大厂面试题合集,共30+专题。包含计算机网络、多线程、数据库、分布式等专题。 微服务架构面试专题系列 几本霸占我休息时间的PDF 分享网约车 分享redis 大厂面试 Java面试题库 Java面试大全+...
然后,《JAVA面试题一.doc》和《Java面试题三.doc》很可能是进一步的面试题集,可能包含了一些热门技术和热门问题,比如Java 8的新特性、Spring Boot、MyBatis、Docker容器化技术、Kubernetes集群管理等。对于Java 8...
Java 程序员在面试时常常会遇到各种各样的问题,从基础知识到高级概念,全方位地考察候选人的技能和理解。以下是对标题和描述中所提到的一些关键...掌握这些基础和进阶知识对于成为一名优秀的 Java 开发者至关重要。
这份"【面试必备】JAVA 最常见面试题全解析 附 PDF"文档,正是为准备Java面试的开发者量身定制的资源,涵盖了Java的基础到高级知识点,旨在帮助你全面理解和掌握Java技术。 一、基础篇 1. Java语法:包括变量、数据...
**JAVA高频面试题资源概述** 在Java程序员的求职之旅中,掌握高频面试题是通往心仪职位的关键一步。这份资源精心整理了Java面试中最常遇到的各类问题,覆盖了从Java基础知识、面向对象编程、集合框架、并发编程、...
二、Java进阶 1. 重载与重写:重载在同一类中,方法名相同但参数列表不同;重写发生在子类对父类方法的覆盖,保持方法名和参数列表一致。 2. 抽象类与接口:抽象类可以包含抽象方法和非抽象方法,一个类只能继承一个...
本资料集“JAVA常用面试题(含答案)”涵盖了Java语言的基础知识、进阶概念以及实际应用中的常见问题,旨在帮助求职者在面试中表现出色。 1. **基础篇** - **变量与数据类型**:Java中的基本数据类型包括整型(byte,...