I have been writing code in Java for 5 years and never got a chance to write any threading apps. I would like to become good at that. Any course work or small project that would help me ?? Another reason why I want to do is, companies like Netflix and others test a lot in multi-threading (checked Glassdoor). So for that just reading threading topics is enough or should have coded in threading ?
Learn golang, use channels, not worry about threading. Or use actor library in java. Threading is not something you do out of box, you end up using threadpools, the only hard part is shared state. Just buy concurrency in java book if you need help with shared state.
use sophisticated frameworks and don't try to diy it
Here is a small list that I think could help: 1. Take a bunch of files and try uploading them to S3 in bulk in parallel. Profile, optimize and repeat. Bonus if you learn about Zero copy 2. Write a hashmap from scratch and simulate simultaneous reads and writes. Profile, optimize, repeat. Think of sharding it internally, think of map resizing etc. 3. Write a web server from scratch that supports simple get operations. Try to use what you built in step 1 to overwhelm it. Now use thread pools etc to figure out how to speed it up. Try to use as much raw java features as possible. Good luck.
I totally forgot: read about and solve the dining philosophers problem. Perhaps start with that first
Just say “I haven’t done much multi-threaded programming”, and they should ask you something else.
😂😂I’m going to senior software engineer interview at Netflix next week. Can I tell them I haven’t done much coding so ask me something else?
I think some teams are ok with it. Let us know how it goes. Also, tell us how was the phone interview ??
There is a game on Steam called "Human Resource Machine", that effectively teaches you how to write Assembly (in a fun way). The sequel "Seven Billion Humans" is all about concurrency and is an excellent way to start thinking about the problems you encounter in concurrent execution situations.
https://www.coursera.org/specializations/pcdp
Do you have a Python equivalent?
Sorry, no...experience with python is limited to a few textbook ML/DS projects