FAANGM Jobs, Career and Salary Cheat Sheet
FAANGM is an acronym that refers to the stocks of Six prominent American technology companies: Facebook (FB), Amazon (AMZN), Apple (AAPL), Netflix (NFLX), Alphabet (GOOG) (formerly known as Google), and Microsoft(MSFT).
How do FAANGM Make their money?
1- Facebook
2- Amazon
3- Apple
4- Netflix
Video streaming giant Netflix had a total net income of over 2.76 billion U.S. dollars in 2020, whilst the company’s annual revenue reached 25 billion U.S. dollars. The number of Netflix’s streaming subscribers worldwide has continued to grow in recent years, reaching 204 million in the fourth quarter of 2020.
5- Alphabet (Google)
6- Microsoft
How to prepare for FAANGM Job interviews?
You must be able to write code. It is as simple as that. Prepare for the interview by practicing coding exercises in different categories. You’ll solve one or more coding problems focused on CS fundamentals like algorithms, data structures, recursions, and binary trees.
Coding Interview Tips
Make sure you understand the question. Read it back to your interviewer. Be sure to ask any clarifying questions.
An interview is a two-way conversation; feel free to be the one to ask questions, too.
Don’t rush. Take some time to consider your approach. For example, on a tree question, you’ll need to choose between an iterative or a recursive approach. It’s OK to first use a working, unoptimized solution that you can iterate on later.
Talk through your thinking and processes out loud. This can feel unnatural; be sure to practice it before the interview.
Test your code by running through your problem with a few test and edge cases. Again, talk through your logic out loud when you walk through your test cases.
Think of how your solution could be better, and try to improve it. When you’ve finished, your interviewer will ask you to analyze the complexity of the code in Big O notation.
Walk through your code line by line and assign a complexity to each line.
Remember how to analyze how “good” your solution is: how long does it take for your solution to complete? Watch this video to get familiar with Big O Notation.
How to Approach Problems During Your Interview
Before you code:
Ask clarifying questions. Talk through the problem and ask follow-up questions to make sure you understand the exact problem you’re trying to solve before you jump into building
the solution.
Let the interviewer know if you’ve seen the problem previously. That will help us understand your context.
Present multiple potential solutions, if possible. Talk through which solution you’re choosing and why.
While you code:
Don’t forget to talk! While your tech screen will focus heavily on coding, the engineer you’re interviewing with will also be evaluating your thought process. Explaining your decisions and actions as you go will help the interviewer understand your choices.
Be flexible. Some problems have elegant solutions, and some must be brute forced.
If you get stuck, just describe your best approach and ask the interviewer if you should go that route. It’s much better to have non-optimal but working code than just an idea with nothing written down.
Iterate rather than immediately trying to jump to the clever solution. If you can’t explain your concept clearly in five minutes, it’s probably too complex.
Consider (and be prepared to talk about):
- Different algorithms and algorithmic techniques, such as sorting, divide-and-conquer, recursion, etc.
- Data structures, particularly those used most often (array, stack/queue, hashset/hashmap/hashtable/dictionary, tree/binary tree, heap, graph, etc.)
- O memory constraints on the complexity of the algorithm you’re writing and its running time as expressed by big-O notation.
- Generally, avoid solutions with lots of edge cases or huge if/else if/else blocks, in most cases. Deciding between iteration and recursion can be an important step
After you code
- Expect questions. The interviewer may tweak the problem a bit to test your knowledge and see if you can come up with another answer and/or further optimize your solution.
- Take the interviewer’s hints to improve your code. If the interviewer makes a suggestion or asks a question, listen fully so you can incorporate any hints they may provide.
- Ask yourself if you would approve your solution as part of your codebase. Explain your answer to your interviewer. Make sure your solution is correct and efficient, that you’ve taken into account edge cases, and that it clearly reflects the ideas you’re trying to express in your code.
FAANGM Screening/Phone Interview Examples:
Example1: Arrays []
Reverse to Make Equal: Given two arrays A and B of length N, determine if there is a way to make A equal to B by reversing any subarrays from array B any number of times. Solution Here
Example2: Arrays[]
Add 2 long integer (Example: “1001202033933333093737373737” + “934019393939122727099000000”) Solution Here
Example3: Strings:
Rotational Cipher: One simple way to encrypt a string is to “rotate” every alphanumeric character by a certain amount. Rotating a character means replacing it with another character that is a certain number of steps away in normal alphabetic or numerical order. For example, if the string “Zebra-493?” is rotated 3 places, the resulting string is “Cheud-726?”. Every alphabetic character is replaced with the character 3 letters higher (wrapping around from Z to A), and every numeric character replaced with the character 3 digits higher (wrapping around from 9 to 0). Note that the non-alphanumeric characters remain unchanged. Given a string and a rotation factor, return an encrypted string. Solution Here
Example4: Recursion
Minimum Length Substrings: You are given two strings s and t. You can select any substring of string s and rearrange the characters of the selected substring. Determine the minimum length of the substring of s such that string t is a substring of the selected substring. Solution HERE.
FAANGM Interviewers: What they usually look for!
1- The interviewer will be thinking about how your skills and experience might help their teams.
2- Help them understand the value you could bring by focusing on these traits and abilities.
Communication: Are you asking for requirements and clarity when necessary, or are you just diving into the code? Your initial tech screen should be a conversation, so don’t forget to ask questions.
Problem solving: They are evaluating how you comprehend and explain complex ideas. Are you providing the reasoning behind a particular solution? Developing and comparing multiple solutions? Using appropriate data structures? Speaking about space and time complexity? Optimizing your solution?
Coding: Can you convert solutions to executable code? Is the code organized and does it capture the right logical structure?
Verification. Are you considering a reasonable number of test cases or coming up with a good argument for why your code is correct? If your solution has bugs, are you able to walk through your own logic to find them and explain what the code is doing?
FAANGM Compensation
Google/Alphabet
- 105/180/22.5 (2016, L3)
- 105/280/58 (2016, L3)
- 105/330/22.5 (2016, L3)
- 110/180/25 (2016, L3)
- 110/270/30 (2016, L3)
- 110/250/20 (2016, L3)
- 110/160/70 (2016, L3)
- 112/180/50 (2016, L3)
- 115/180/50 (2016, L3)
- 140/430/50 (2016, L3)
- 110/90/0 (2017, L3)
- 145/415/100 (2017, L3)
- 120/220/25 (2018, L3)
- 145/270/30 (2017, L4)
- 150/400/30 (2018, L4)
- 155/315/50 (2017, L4)
- 155/650/50 (2017, L4)
- 170/350/50 (2017, L4)
- 170/400/75 (2017, L4)
*Google’s target annual bonus is 15%. Vesting is monthly and has no cliff.
Facebook
- 105/120/120 (2016, E3)
- 105/150/75 (2016, E3)
- 105/100/50 (2016, E3)
- 105/240/105 (2016, E3)
- 107/150/75 (2016, E3)
- 110/150/75 (2016, E3)
- 110/235/75 (2016, E3)
- 115/150/75 (2016, E3)
- 110/150/110 (2017, E3)
- 115/160/100 (2017, E3
- 160/300/70 (2017, E4)
- 145/220/0 (2017, E4)
- 160/300/100 (2017, E4)
- 160/300/100 (2017, E4)
- 150/250/25 (2017, E4)
- 150/250/60 (2017, E4)
- 175/250/0 (2017, E5)
- 160/250/100 (2018, E4)
- 170/450/65 (2015, E5)
- 180/600/50 (2016, E5)
- 180/625/50 (2016, E5)
- 170/500/100 (2017, E5)
- 175/450/50 (2017, E5)
- 175/480/75 (2017, E5)
- 190/600/70 (2017, E5)
- 185/600/100 (2017, E5)
- 185/1000/100 (2017, E5)
- 190/500/120 (2017, E5)
- 200/550/50 (2018, E5)
*Facebook’s target annual bonus is 10% for E3 and E4. 15% for E5 and 20% for E6. Vesting is quarterly and has no cliff.
Apple:
- 110/60/40 (2016, ICT2)
- 140/99/8 (2016, ICT3)
- 140/100/20 (2016, ICT3)
- 155/130/65 (2017, ICT3)
- 120/100/21 (2017, ICT3)
- 135/105/20 (2017, ICT3)
- 160/105/30 (2017, ICT4)
Amazon:
- 95/52/47 (2016, SDE I)
- 95/53/47 (2016, SDE I)
- 95/53/47 (2016, SDE I)
- 100/70/59 (2016, SDE I)
- 103/65/52 (2016, SDE I)
- 103/65/40 (2016, SDE I)
- 103/65/52 (2016, SDE I)
- 110/200/50 (2016, SDE I)
- 135/70/45 (2016, SDE I)
- 106/60/65 (2017, SDE I)
- 130/88/62 (2016, SDE II)
- 127/94/55 (2017, SDE II)
- 152/115/72 (2017, SDE II)
- 160/160/125 (2017, SDE II)
- 178/175/100 (2017, SDE II)
- 145/120/100 (2018, SDE II)
- 160/320/185 (2018, SDE III)
*Amazon stocks have a 5/15/40/40 vesting schedule and sign on is split almost evenly over the first two years*
Microsoft:
- 100/25/25 (2016, SDE)
- 106/120/20 (2016, SDE)
- 106/60/20 (2016, SDE)
- 106/60/10 (2016, SDE)
- 106/60/15 (2016, SDE)
- 106/60/15 (2016, SDE)
- 106/120/15 (2016, SDE)
- 107/90/35 (2016, SDE)
- 107/120/30 (2017, SDE)
- 110/50/20 (2016, SDE)
- 119/25/15 (2017, SDE)
Top-paying Cloud certifications for FAANGM:
Google Certified Professional Cloud Architect — $175,761/year
AWS Certified Solutions Architect — Associate — $149,446/year
Azure/Microsoft Cloud Solution Architect — $141,748/yr
Google Cloud Associate Engineer — $145,769/yr
AWS Certified Cloud Practitioner — $131,465/year
Microsoft Certified: Azure Fundamentals — $126,653/year
Microsoft Certified: Azure Administrator Associate — $125,993/year