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相关推荐

  1. 35+ Top Apache Tomcat Interview Questions And Answers【转】

    原文地址:https://www.softwaretestinghelp.com/apache-tomcat-interview-questions/ Most frequently asked Ap ...

  2. C# Interview Questions and Answers

    What's C# ?C# (pronounced C-sharp) is a new object oriented language from Microsoft and is derived f ...

  3. [转]Design Pattern Interview Questions - Part 2

    Interpeter , Iterator , Mediator , Memento and Observer design patterns. (I) what is Interpreter pat ...

  4. 安卓面试题 Android interview questions

    安卓面试题 Android interview questions 作者:韩梦飞沙 ‎2017‎年‎7‎月‎3‎日,‏‎14:52:44 1.      要做一个尽可能流畅的ListView,你平时在 ...

  5. 面试时最经常被问到的问题(Frenquently asked interview questions)(II)

    面试时最经常被问到的问题(Frenquently asked interview questions)(II) 面试时最经常被问到的问题(Frenquently asked interview que ...

  6. 机器学习面试题合集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 ...

  7. 转:C# Interview Questions

    转自: http://blogs.crsw.com/mark/articles/252.aspx C# Interview Questions This is a list of questions ...

  8. English job interview Questions and Answers

    "What are your goals for the future?" or "Where do you see yourself in five years?&qu ...

  9. Java Interview Questions

    Question: What is the difference between an Interface and an Abstract class?   Question: What is the ...

最新文章

  1. IOS长按识别二维码失败
  2. jmeter的xpath断言 [XPath Assertion]
  3. 201571030335/201571030320《小学四则运算练习软件软件需求说明》结对项目报告
  4. 根据dtd编写xml的小例子
  5. Ane技术大全 - Devil程序员
  6. 为什么LED灯会越用越暗?
  7. 【实践案例】Databricks 数据洞察在美的暖通与楼宇的应用实践
  8. C# OpenTK教程 - 1.2 你好三角形
  9. JAVA常见算法题(三十三)---求子串在字符串中出现的次数
  10. boost operator 实例代码
  11. ITAA学员的经典对白
  12. Spark学习笔记(一)
  13. matlab imshow加画网格,matlab能生成随机行走网格吗? - 仿真模拟 - 小木虫 - 学术 科研 互动社区...
  14. 备赛脱脂经验分享_敲黑板,备赛这几招如果你还不知道,赶快学起来吧!
  15. 在电脑端微信或低版本ios,使用微信自带浏览器打开网页不显示
  16. 如何用usb电缆连接到计算机,如何使用USB串行电缆将文件从计算机传输到树莓派...
  17. 【附加作业】沈航软件工程期末附加作业
  18. 关于Mac版Mysql的my.cnf配置文件
  19. mysql table plugin,MySql报错Table mysql.plugin doesn’t exist的解决方法
  20. android 9.0rom下载,安卓9.0刷机包

热门文章

  1. 软考高项论文----进度管理
  2. 怎么把计算机试题移到优盘,怎么把安装包放到u盘,怎样把程序安装到u盘
  3. 6054. 逃离火灾
  4. 数据结构——校园导游系统
  5. 到底什么样的 REST 才是最佳 REST?
  6. 记一次羞羞的事情。。。
  7. 超火哔哩哔哩mac客户端你值得拥有
  8. NLP系列:Word2Vec原始论文:Efficient Estimation of Word Representations in Vector Space
  9. matlab每日练习poly函数
  10. fcitx重启 linux_用脚本的方法解决fcitx占用大量cpu资源的问题