Martin is a software engineer with more than 10 years of experience in software development. He has been involved in different positions in application development in a variety of software projects ranging from reusable software components, mobile applications over fat-client GUI projects up to larg-scale, clustered enterprise applications with real-time requirements.
Martin is a Java EE enthusiast and works for an international operating company. He is interested in clean code and the software craftsmanship approach. He also strongly believes in automated testing and continuous integration. His current interests include Java EE, web applications with focus on HTML5 and performance optimizations. When time permits, he works on open source projects.
Concurrency is always a challenge for developers and writing concurrent programs can be extremely hard.
There is a number of things that could potentially blow up and the complexity of systems rises considerably when concurrency is introduced.
However, the ability to write robust concurrent programs is a great tool in a developer’s belt and can help build sophisticated, enterprise level applications.
In this guide we will discuss different types of questions that can be used in a programming interview in order to assess a candidate’s understanding of concurrency and multithreading.
The questions are not only Java specific, but revolve around general programming principles.
Multithreading and Concurrency Questions includes:
Threads
Schedulers
Locks
Synchronization
Atomic
Executors
Concurrent package
Fork/Join Framework
Futures
ThreadLocals
InterruptedException
JCG eBooks are professionally designed, downloadable collections of popular JCG content – articles, interviews, presentations, and research – covering the latest software development technologies, trends, and topics.