Today, even “budget” laptops and mobile phone have multiple cores. Understanding concepts like Threads, Locks, Synchronization, etc. are beneficial whether you are building a mobile app or a web-scale service.
Just like System Design interview questions — Multi-Threading and Concurrency Interview questions are useful in gauging your level. A junior engineer will struggle with these questions (and are expected to learn more on the job). A relatively senior engineer is supposed to do better in such questions as they would be responsible for writing a lot of code that takes advantage of multiple cores/threads.
Java Multithreading and Concurrency for Senior Engineering Interviews is a good resource to check out for more guidance.
- Be able to define Concurrency, Threading, Parallelism
- Be able to explain thread safety
- Consider the "paralells" between threads on a CPU and large scale distributed systems (ha ha)
- https://youtu.be/3RvkfuXUv1c?t=323 why use a multi-processor system?
- https://www.youtube.com/watch?v=0KAGazeMZ2o Simple multithreading
- https://www.youtube.com/watch?v=iKtvNJQoCNw Lecture 1, unit 1: Introduction to Concurrency (12 minutes)
- https://www.youtube.com/watch?v=7ENFeb-J75k Multithreading Code - Computerphile (15 min - advanced)
- https://www.youtube.com/watch?v=Tn0u-IIBmtc Multitasking, Multithreading, Multiprocessing (10 min)
- https://www.youtube.com/watch?v=pWTtPnwialI what is thread safety? (16 minutes)
- https://www.journaldev.com/1162/java-multithreading-concurrency-interview-questions-answers threading interview questions
- https://dzone.com/articles/top-15-java-multithreading-concurrency-interview-q more threading interview question samples
- https://www.youtube.com/watch?v=ajjOEltiZm4 distributed systerms explained
- https://www.youtube.com/watch?v=w9GP7MNbaRc Distributed Systems Architecture InfoQ (41 minutes)
- https://www.youtube.com/watch?v=9kKQ8uLK8mk Laws of programming with Concurrency (50 minutes - way too smart! :) )
- https://www.youtube.com/channel/UCCb9_Kn8F_Opb3UCGm-lILQ Microsoft Research youtube channel
- https://en.wikipedia.org/wiki/Flynn%27s_taxonomy Flynn's taxonomy