Я цей текст писав 3 роки назад, думаю якраз норм буде звідти почати.
General
Main chat with FAANG preparation materials: t.me/FaangInterview
All the materials are located in one of the pinned messages. Moreover, creators of this chat organize mock interviews for system design and coding section. So you will be half an hour as an interviewer and another half an hour as an interviewee. I took part in ~80 interviews sessions for the last year in that chat.
There are a few chats related to this one. Flood chat, algorithms chat, system design chat, resume review chat. All the links are located either in the description or pinned message.
Also for the overall overview I would recommend "Crack the Coding Interview" book(Will be attached). It just gives the high level picture of the process.
Algorithms
Practice: leetcode.com
Theoretical: "Crack the coding Interview" and two free courses on Coursera. Also the "Discuss" section on Leetcode for each of the problems. People explain how they approached that problem.
1st part course: www.coursera.org/learn/algorithms-part1
2nd part course: www.coursera.org/learn/algorithms-part2
These two course based on Java and have some practice tasks, but usually they are used just as lectures.
System design
Practice: I think the only way to practice this is to have some mock interview with a friend. Another way is to watch recorded system design interviews.
Theoretical: "Designing Data Intensive Applications" - really awesome book(will be attached). I read it two times. "Grokking system design interview" - paid course. It not that deep as the book, but it will show the way how to approach the system design interview. Link: www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR