When knowledge of "multithreading" is indicated in the description of work in C ++, what is this expectation?

I understand that it should encompass thread primitives (mutex, semaphore, condition variables, etc.) plus design patterns (like those specified in POSA2). But what else? Each project has its own multithreading scenarios, and perhaps there were no problems with what the work expects? So how do you build your knowledge and prove that they have abilities?

+4
source share
3 answers

Regardless of the specifics, solid, detailed and very deep knowledge is required. You need to understand how bottlenecks are formed, how to cope with scalability issues, how to diagnose cases where synchronization is required, but is mistakenly missed.

If, for example, you had experience working with a multi-threaded process, and I interviewed you to evaluate, I would ask detailed questions about typical scenarios that arise when developing multi-threaded programs. I would not expect that you know a lot of technologies or any particular technology, but I would expect that you will master a technology that you claim to be familiar with the details and understand what fundamental problems it solves and how.

+6
source

I would expect the candidate to have the knowledge and experience of the problems that arise when multiple threads access shared resources. What problems can be caused by simultaneous access and what problems can be solutions (for example, blocking, etc.).

At least an understanding of how to write and read asych code on a platform of choice.

After that, he will understand the specifics if the platform - for example, how to access the main window in Windows, for example, while many things need to be displayed simultaneously.

In essence, this is an understanding of what trade-offs are needed and when.

+3
source

May I introduce another view. I think you should understand the basics, but actually never give up on a job based on a flyer description. I have a mismatching programming concept that cannot be figured out in half a day. So, basically, read the tutorial before the interview, do not try to distort your actual experience with streams, but make sure that they know that you have shared more experience and will see if you have a mutual interest in working for the company. You may like them even if you don’t know anything about threading, if you are sure that you can pick it up at full speed.

+2
source

Source: https://habr.com/ru/post/1309388/


All Articles