Java developer interview questions: The hard part
Since I’ve attended several job interviews recently, I’ve decided toshare some experience with you. Why hard part? Because this article is going tobe about technical stuff. I’m going to write something about soft part later.Technical interview will probably look a bit different depending on yourprogramming background. If you are new, expect more core language / programmingquestions. Later on emphasis probably shifts more towards your actual workexperience, technologies, frameworks and practical problem solving skills. I’mnot going to answer questions (I’m lazy), just provide list of topics you mightwant to review if you are going to a Java interview.
General object oriented programming /design core
Explain polymorphism, encapsulation, cohesion,coupling.
Difference between inheritance andaggregation.
What does “clean code” and “technical debt”mean to you?
Describe some refactoring techniques.
Explain SOLID principles.
Other principles like KISS, DRY, YAGNI, lawof Demeter etc.
What design patterns do you know, explainsome.
What design anti-patterns do you know?
How would you design an amphibious vessel /math expression evaluator / a dragon?
What sorting algorithms do you know andwhat’s their computational complexity? Which would you choose having someknowledge about the data you are given?
Write a code that:
calculates a factorial of given number
does a Fizz Buzz
inverts order of letters in words of givensentence.
checks if given string is a palindrome.
enumerates all permutations / variations ofgiven set of characters
Java core
What is the contract between equals andhashCode and how it’s used in Java collections?
Describe Java collections, interfaces,implementations. What’s the difference between LinkedList and ArrayList?
What’s the difference between primitivesand wrappers, where do they live, what’s autoboxing?
Where can you put keywords final and staticand what do they do?
Access modifiers in Java.
Difference between String and StringBuilder/ StringBuffer.
Difference between interface and abstractclass.
Difference between overriding andoverloading.
Types of exceptions and “handle or declare”rule.
How does garbage collector work?
How would you deal with memory leak / stackoverflow problem?
How to make a class immutable and what’sthe point?
What’s JIT compilation?
What’s new in Java 8 / Java 7? What’scoming in Java 9?
Hibernate / databases
What’s ORM?
Describe benefits and drawbacks ofHibernate.
Difference between Hibernate and JPA
What’s new in latest versions of Hibernate?
What’s lazy loading?
What’s N+1 problem?
Explain some Hibernate annotations.
What’s Hibernate Session andSessionFactory?
States of entity beans.
Cashing levels in Hibernate.
Transactions support in Hibernate.
What’s optimistic locking?
Describe ACID principles.
Describe database normalizations.
How would you approach to optimization of aslow query?
Spring
What’s new in latest versions of Spring?
Describe benefits and drawbacks of Spring.
What’s inversion of control and dependencyinjection?
What Spring modules have you used?
What types of dependency injection can beused in Spring?
What modes of auto wiring are available inSpring?
Describe Spring MVC.
Scopes in Spring.
Bean life cycle.
What’s the difference between Spring Beanand EJB Bean?
Miscellaneous topics
Explain Aspect Oriented Programming.
What’s the difference between GET and POST?
What’s the difference between web server,web container and application server?
Describe what’s happening in Java web applicationbetween entering an url in browser and getting the requested web page.
What’s a n-layer architecture?
What are the differences betweenmicroservices and monolithic applications?
What enterprise design patterns do youknow?
How would you test an application?Different layers of tests. What testing frameworks do you know?
How would you test a single method?
What was the hardest technical challengeyou’ve faced in your career?
What’s Domain Driven Development?
Name some important plug-ins for your favourite IDE.
Apart from IDE, what tools do you findessential for your daily work?
What version control tools have you used?
What’s the difference between branch andtag?
What tools for continuous integration /build / static code analysis have you used?
There is more
As usual. I’ve tried to cover most typical for the interview. There areplenty stuff aside from core language and everything depends on particular joband your resume. Personally I’m not a big fan of strict specialisation and liketo do full stack development from database to frontend, with maybe more biastowards backend. Most popular technologies around Java backend are now probablySpring and Hibernate, that’s why I gave them separate sections here. Mostpopular stuff for front end would now be Angular.JS and Bootstrap. But more onthat later on.
There is plenty information on the internet about “[technology name]interview questions”, go ahead and google what you need. If you like to hold abook in your hand, there are several on the topic of programming interviews,I’ve read three of them some time ago, you may find some useful stuff there aswell:
Programming Interviews Exposed: Secrets toLanding Your Next Job
Coding Interviews: Questions, Analysis& Solutions
Cracking the Coding Interview.
Good luck on your technical interviews! In the next episode we are goingto talk about soft parts of software developer recruitment process :)
from:
https://howtotrainyourjava.com/2016/07/14/java-developer-interview-questions-the-hard-part/
Java developer interview questions: The hard part相关推荐
- 35+ Top Apache Tomcat Interview Questions And Answers【转】
原文地址:https://www.softwaretestinghelp.com/apache-tomcat-interview-questions/ Most frequently asked Ap ...
- C# Interview Questions and Answers
What's C# ?C# (pronounced C-sharp) is a new object oriented language from Microsoft and is derived f ...
- [转]Design Pattern Interview Questions - Part 2
Interpeter , Iterator , Mediator , Memento and Observer design patterns. (I) what is Interpreter pat ...
- 安卓面试题 Android interview questions
安卓面试题 Android interview questions 作者:韩梦飞沙 2017年7月3日,14:52:44 1. 要做一个尽可能流畅的ListView,你平时在 ...
- 面试时最经常被问到的问题(Frenquently asked interview questions)(II)
面试时最经常被问到的问题(Frenquently asked interview questions)(II) 面试时最经常被问到的问题(Frenquently asked interview que ...
- 机器学习面试题合集Collection of Machine Learning Interview Questions
The Machine Learning part of the interview is usually the most elaborate one. That's the reason we h ...
- 转:C# Interview Questions
转自: http://blogs.crsw.com/mark/articles/252.aspx C# Interview Questions This is a list of questions ...
- English job interview Questions and Answers
"What are your goals for the future?" or "Where do you see yourself in five years?&qu ...
- Java Interview Questions
Question: What is the difference between an Interface and an Abstract class? Question: What is the ...
最新文章
- IOS长按识别二维码失败
- jmeter的xpath断言 [XPath Assertion]
- 201571030335/201571030320《小学四则运算练习软件软件需求说明》结对项目报告
- 根据dtd编写xml的小例子
- Ane技术大全 - Devil程序员
- 为什么LED灯会越用越暗?
- 【实践案例】Databricks 数据洞察在美的暖通与楼宇的应用实践
- C# OpenTK教程 - 1.2 你好三角形
- JAVA常见算法题(三十三)---求子串在字符串中出现的次数
- boost operator 实例代码
- ITAA学员的经典对白
- Spark学习笔记(一)
- matlab imshow加画网格,matlab能生成随机行走网格吗? - 仿真模拟 - 小木虫 - 学术 科研 互动社区...
- 备赛脱脂经验分享_敲黑板,备赛这几招如果你还不知道,赶快学起来吧!
- 在电脑端微信或低版本ios,使用微信自带浏览器打开网页不显示
- 如何用usb电缆连接到计算机,如何使用USB串行电缆将文件从计算机传输到树莓派...
- 【附加作业】沈航软件工程期末附加作业
- 关于Mac版Mysql的my.cnf配置文件
- mysql table plugin,MySql报错Table mysql.plugin doesn’t exist的解决方法
- android 9.0rom下载,安卓9.0刷机包