This document provides guidance on conducting interviews for software engineering roles. It discusses why interviews are important, recommends structuring interviews with sections for greetings, project overview, soft skills and technical assessments, and provides sample technical questions to assess candidates at different experience levels. Technical areas that could be assessed include object-oriented programming, Java features, data structures, concurrency, databases, the Java virtual machine, troubleshooting, and frameworks. The document aims to help interviewers evaluate candidates' skills and determine if they are a good fit for open roles and engineering teams.
5. SLIDESMANIA.COM
What to expect from this techtalk
For you
Hope you’ll find some useful tips and
hints on how to conduct interview
For me
Psychotherapy session
7. SLIDESMANIA.COM
Why we need interview sessions
Examine candidate`s tech and soft skill
Check if candidate fits team mentaly
Prove yourself you are better
8. SLIDESMANIA.COM
Interview format
Structured
Go through prepared list of topics
and areas you what to discuss.
Not structured
Just start discussing some random
(but prepared) topic trying to cover
everything you are interested in.
9. SLIDESMANIA.COM
Pros and Cons
Structured
Easy to adopt and conduct
Not Structured
Hard to cover all areas in time
Easy to give formal feedback
Informal
Harder for interviewer
Easier to cover a lot of topics
Too formal Harder to give formal feedback
17. SLIDESMANIA.COM
Main sections of the interview
Greeting and small-talk
Project introduction
Soft skill interview
Tech skill interview
Q&A session
18. SLIDESMANIA.COM
Greeting and small-talk
Greeting
Introduce yourself, ask the candidate
to introduce himself. Offer cup of
tea/coffee, glass of water. Make a
short introduction to the interview
process
Small-talk
Spend 2-3 minutes on some random
(non-technical) talk. E.g. how was
his trip to the office, did he find good
place to park his car, etc.
20. SLIDESMANIA.COM
Project introduction
Spend 5-10 minutes describing the project. What is the business
idea, how company and teams are structured. What are the process
used. Describe main tech stack the project is built on
21. SLIDESMANIA.COM
Soft skills interview
Can be done by project manager
Usually they ask questions like: Why
did you leave your current project or
where you see yourself in 5 years,
blah-blah-blah
Can be done by me
In this case I do not extract it in a
separate section but trying to make
a picture during the tech interview
part
23. SLIDESMANIA.COM
Q&A session
Leav about 5 minutes to let the candidate to ask any questions
he has.
Avoid giving direct feedback to the interviewee if ask one.
25. SLIDESMANIA.COM
General structure for the next slides
For each area to discuss I will highlight three main points
Who - June, Mid, Senior
Why - What is the value of the question
Question examples
26. SLIDESMANIA.COM
OOP
Who
- Junior
- Middle
- Senior
- Tech Lead
This question should be
ask to candidates of any
level
Why
OOP is the fundamental
software development
process for Java.
Candidate should know
and understand its main
principles and how they
help us
Examples
Describe main OOP
principles and, the most
important, how they help
us to develop software
27. SLIDESMANIA.COM
Java core/Java 8-11 features
Who
- Junior
- Middle
- Senior - usually only
Optional and Stream
API
- Tech Lead - usually
only Optional and
Stream API
Why
This is the basics of the
engineer day-to-day
work. If candidate
struggles to answer this
questions it is doubtful
he/she will be able to
execute even simple tasks
Examples
- What is “static”,
“final”
- Override vs overload
- Exceptions
- Optionals and
Streams API
28. SLIDESMANIA.COM
Collections
Who
- Junior
- Middle
- Senior
- Tech Lead
Why
In day-to-day we mostly
work with some data that
we need to store, retrieve
or process. Engineer
should be able to select
correct data structure for
the task he is
implementing
Examples
- Interfaces in
java.util.collection
- List vs Set
- How HashMap
works
29. SLIDESMANIA.COM
Concurrency
Who
- Middle - really
- Senior
- Tech Lead
Why
MId and Senior engineer
should be able to work
with concurrent
environments, understand
how it build under the
hood, implement such
structures by themself or
choose correct
lib/framework
Examples
- What does
“synchronisation”
means
- What does volatile
means
- Locks
- Atomics/CAS
- etc.
30. SLIDESMANIA.COM
Data stores
Who
- Junior - basics
- Middle
- Senior
- Tech Lead
Why
MId and Senior engineer
should be able to work
with different data
storages, understand how
it build under the hood, its
pros and cons, which
data store to chose.
Examples
- SQL vs NoSQL
- CAP theorem
- SQL
- Transactions
31. SLIDESMANIA.COM
JVM / GC
Who
- Middle - rearly, only
basics
- Senior
- Tech Lead
Why
Senior engineers and tech
leads should be able to
troubleshoot issues
related not only to the
application code or libs
used but also related to
JVM it self, as well as
work on performance
optimization of the
application
Examples
- Name GC you
know/work with
- How JVM memory is
structured
- JIT
- native calls/intrinsics
- bytecode
32. SLIDESMANIA.COM
Troubleshooting
Who
- Senior
- Tech Lead
Why
Senior engineers and tech
leads should be able to
troubleshoot issues with
re running app in
production when trivial
methods (like app logs)
fails
Examples
- Java monitoring tools
(JMC, jConsole)
- heap dumps
- Useful JVM params
- OS specific
monitoring tools
33. SLIDESMANIA.COM
Frameworks
Who
- Junior - basics
- Middle
- Senior
- Tech Lead
Why
Depending on the project
needs engineer should be
able to work with
different frameworks,
choose correct one to
solve particular problem.
Examples
- Spring
- Hibernate