Set yourself up for promotion or get a better job by Acing the AWS Certified Data Engineer Associate Exam (DEA-C01) with the eBook or App below (Data and AI)
Download the Ace AWS DEA-C01 Exam App:
iOS - Android
Jobs Career Salary Total Compensation Interview Tips at FAANGM: Facebook Apple, Amazon Netflix Google Microsoft
This blog is about Clever Questions, Answers, Resources, Links, Discussions, Tips about jobs and careers at FAANGM companies: Facebook, Apple, Amazon, AWS, Netflix, Google, Microsoft, Linkedin.
How to prepare for FAANGM jobs 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
These tips from FAANGM engineers can help you do your best.
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.
https://www.youtube.com/watch?v=v4cd1O4zkGw
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.
Advertise with us - Post Your Good Content Here
We are ranked in the Top 20 on Google
AI Dashboard is available on the Web, Apple, Google, and Microsoft, PRO version
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:
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
Contiguous Subarrays: You are given an array arr of N integers. For each index i, you are required to determine the number of contiguous subarrays that fulfills the following conditions:
The value at index i must be the maximum element in the contiguous subarrays, and
These contiguous subarrays must either start from or end on index i. Solution here
Add 2 long integer (Example: “1001202033933333093737373737” + “934019393939122727099000000”) Solution here
# Python3 program to find sum of
# two large numbers. # Function for finding sum of
# larger numbers
def findSum(str1, str2):
# Before proceeding further,
# make sure length of str2 is larger.
if (len(str1) > len(str2)):
t = str1;
str1 = str2;
str2 = t; # Take an empty string for
# storing result
str = ""; # Calculate length of both string
n1 = len(str1);
n2 = len(str2); # Reverse both of strings
str1 = str1[::-1];
str2 = str2[::-1]; carry = 0;
for i in range(n1):
# Do school mathematics, compute
# sum of current digits and carry
sum = ((ord(str1[i]) - 48) +
((ord(str2[i]) - 48) + carry));
str += chr(sum % 10 + 48); # Calculate carry for next step
carry = int(sum / 10); # Add remaining digits of larger number
for i in range(n1, n2):
sum = ((ord(str2[i]) - 48) + carry);
str += chr(sum % 10 + 48);
carry = (int)(sum / 10); # Add remaining carry
if (carry):
str += chr(carry + 48); # reverse resultant string
str = str[::-1]; return str; # Driver code
str1 = "12";
str2 = "198111";
print(findSum(str1, str2)); # This code is contributed by mits
Optimized version below
# python 3 program to find sum of two large numbers. # Function for finding sum of larger numbers
def findSum(str1, str2): # Before proceeding further, make sure length
# of str2 is larger.
if len(str1)> len(str2):
temp = str1
str1 = str2
str2 = temp # Take an empty string for storing result
str3 = "" # Calculate length of both string
n1 = len(str1)
n2 = len(str2)
diff = n2 - n1 # Initially take carry zero
carry = 0 # Traverse from end of both strings
for i in range(n1-1,-1,-1):
# Do school mathematics, compute sum of
# current digits and carry
sum = ((ord(str1[i])-ord('0')) +
int((ord(str2[i+diff])-ord('0'))) + carry)
str3 = str3+str(sum%10 )
carry = sum//10 # Add remaining digits of str2[]
for i in range(n2-n1-1,-1,-1):
sum = ((ord(str2[i])-ord('0'))+carry)
str3 = str3+str(sum%10 )
carry = sum//10 # Add remaining carry
if (carry):
str3+str(carry+'0') # reverse resultant string
str3 = str3[::-1] return str3 # Driver code
if __name__ == "__main__":
str1 = "12"
str2 = "198111"
print(findSum(str1, str2)) # This code is contributed by ChitraNayal
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
Matching Pairs: Given two strings s and t of length N, find the maximum number of possible matching pairs in strings s and t after swapping exactly two characters within s. A swap is switching s[i] and s[j], where s[i] and s[j] denotes the character that is present at the ith and jth index of s, respectively. The matching pairs of the two strings are defined as the number of indices for which s[i] and t[i] are equal. Note: This means you must swap two characters at different indices. Solution here
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
Recursion
Encrypted Words: You’ve devised a simple encryption method for alphabetic strings that shuffles the characters in such a way that the resulting string is hard to quickly read, but is easy to convert back into the original string.
When you encrypt a string S, you start with an initially-empty resulting string R and append characters to it as follows:
Append the middle character of S (if S has even length, then we define the middle character as the left-most of the two central characters)
Append the encrypted version of the substring of S that’s to the left of the middle character (if non-empty)
Append the encrypted version of the substring of S that’s to the right of the middle character (if non-empty)
For example, to encrypt the string “abc”, we first take “b”, and then append the encrypted version of “a” (which is just “a”) and the encrypted version of “c” (which is just “c”) to get “bac”.
If we encrypt “abcxcba” we’ll get “xbacbca”. That is, we take “x” and then append the encrypted version “abc” and then append the encrypted version of “cba”.
Greedy Algorithms
Slow Sums: Suppose we have a list of N numbers, and repeat the following operation until we’re left with only a single number: Choose any two numbers and replace them with their sum. Moreover, we associate a penalty with each operation equal to the value of the new number, and call the penalty for the entire list as the sum of the penalties of each operation.For example, given the list [1, 2, 3, 4, 5], we could choose 2 and 3 for the first operation, which would transform the list into [1, 5, 4, 5] and incur a penalty of 5. The goal in this problem is to find the worst possible penalty for a given input.
Linked Lists
Reverse Operations: You are given a singly-linked list that contains N integers. A subpart of the list is a contiguous set of even elements, bordered either by either end of the list or an odd element. For example, if the list is [1, 2, 8, 9, 12, 16], the subparts of the list are [2, 8] and [12, 16].Then, for each subpart, the order of the elements is reversed. In the example, this would result in the new list, [1, 8, 2, 9, 16, 12].The goal of this question is: given a resulting list, determine the original order of the elements. Solution Here.
Hash Tables
Pair Sums: Given a list of n integers arr[0..(n-1)], determine the number of different pairs of elements within it which sum to k. If an integer appears in the list multiple times, each copy is considered to be different; that is, two pairs are considered different if one pair includes at least one array index which the other doesn’t, even if they include the same values. Solution here.
Note: These exercises assume you have knowledge in coding but not necessarily knowledge of binary trees, sorting algorithms, or related concepts.
• Topic 1 | Arrays & Strings
• A Very Big Sum
• Designer PDF Viewer
• Left Rotation
A very big Sum in Java
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution {
/**
* Your solution in here. Just need to add the number in a variable type long so you
* don't face overflow.
*/
static long aVeryBigSum(int n, long[] ar) {
long sum = 0;
for (int i = 0; i < n; i++) {
sum += ar[i];
}
return sum;
}
/**
* HackerRank provides this code.
*/
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
long[] ar = new long[n];
for(int ar_i = 0; ar_i < n; ar_i++){
ar[ar_i] = in.nextLong();
}
long result = aVeryBigSum(n, ar);
System.out.println(result);
}
}
Left Rotation in Java
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution {
static int[] leftRotation(int[] a, int d) {
// They say in requirements that these inputs should not be considered.
// However, noting that we should prevent against those.
if (d == 0 || a.length == 0) {
return a;
}
int rotation = d % a.length;
if (rotation == 0) return a;
// Please note that there is an implementation, circular arrays that could be considered here,
// but that one has an edge case (Test#1)
// As, we don't need to optimize for memory, let's keep it simple.
int [] b = new int[a.length];
for (int i = 0; i < a.length; i++) {
b[i] = a[indexHelper(i + rotation, a.length)];
}
return b;
}
/**
* Takes care of the case where the rotation index. You have to take into account
* how it is rotated towards the left. To compute index of B, we rotate towards the right.
* If we were to do a[i] in the loop, then these method would need to be slightly chnaged
* to compute index of b.
*/
private static int indexHelper(int index, int length) {
if (index >= length) {
return index - length;
} else {
return index;
}
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int d = in.nextInt();
int[] a = new int[n];
for(int a_i = 0; a_i < n; a_i++){
a[a_i] = in.nextInt();
}
int[] result = leftRotation(a, d);
for (int i = 0; i < result.length; i++) {
System.out.print(result[i] + (i != result.length - 1 ? " " : ""));
}
System.out.println("");
in.close();
}
}
Sparse Array in Java
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
final int totalN = Integer.parseInt(scanner.nextLine());
final Map<String, Integer> mapWords = buildCollectionOfStrings(scanner, totalN);
final int numberQueries = Integer.parseInt(scanner.nextLine());
printOcurrenceOfQueries(scanner, numberQueries, mapWords);
}
/**
* This method construcs a map with the collection of Strings and occurrence.
*/
private static Map<String, Integer> buildCollectionOfStrings(Scanner scanner, int n) {
final Map<String, Integer> map = new HashMap<String, Integer>();
for (int i = 0; i < n; i++) {
final String line = scanner.nextLine();
if (map.containsKey(line)) {
map.put(line, map.get(line) + 1);
} else {
map.put(line, 1);
}
}
return map;
}
private static void printOcurrenceOfQueries(Scanner scanner, int numberQueries, Map<String, Integer> mapWords) {
for (int i = 0; i < numberQueries; i++) {
// for each query, we look for how many times it occurs and we print on screen the value.
final String line = scanner.nextLine();
if (mapWords.containsKey(line)) {
System.out.println(mapWords.get(line));
} else {
System.out.println(0);
}
}
}
}
• Topic 2 | Lists
Insert a Node at a Position Given in a List
Cycle Detection
Topic 3 | Stacks & Queues
Balanced Brackets
Queue Using Two Stacks
Topic 4 | Hash & Maps
Ice Cream Parlor
Colorful Number
Topic 5 | Sorting Algorithms
Insertion Sort part 2
Quicksort part 2
• Topic 6 | Trees
Binary Tree Insertion
Height of a Binary Tree
Qheap1
Topic 7 | Graphs (BFS & DFS)
Breath First Search
Snakes and Ladders
Solution here
• Topic 8 | Recursion
Fibonacci Numbers
Solutions: All solutions are available in this public repository:
FAANGM Interview Tips
What they usually look for:
The interviewer will be thinking about how your skills and experience might help their teams.
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?
– Please review Amazon Leadership Principles, to help you understand Amazon’s culture and assess if it’s the right environment for you (For Amazon)
– Review the STAR interview technique (All)
FAANGM Compensation
Legend – Base / Stocks (Total over 4 years) / Sign On
– 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.
– 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)
– 210/1000/100 (2017, E6)
*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.
LinkedIn (Microsoft)
– 125/150/25 (2016, SE)
– 120/150/10 (2016, SE)
– 170/300/30 (2016, Senior SE)
– 140/250/50 (2017, Senior SE)
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)
– 130/200/20 (2016, SWE1)
– 120/150/18.5 (2016, SWE1)
– 145/125/15 (2017, SWE1)
– 160/600/50 (2017, SWE II)
Uber
– 110/180/0 (2016, L3)
– 110/150/0 (2016, L3)
– 140/590/0 (2017, L4)
Lyft
– 135/260/60 (2017, L3)
– 170/720/20 (2017, L4)
– 152/327/0 (2017, L4)
– 175/480/0 (2017, L4)
Dropbox
– 167/464/10 (2017, IC2)
– 160/250/10 (2017, IC2)
– 160/300/50 (2017, IC2)
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
According to the 2020 Global Knowledge report, the top-paying cloud certifications for the year are (drumroll, please):
FAANGM FAQ (Frequently Asked Questions and Answers)
Does any of the FANG offer internship to self taught programmers?
I am not a lawyer, but I believe there is some sort of legal restrictions on what an internship can be (in California, at least). In my previous company, we had discussed cases on whether or not someone who was out of school can be an intern, and we got an unequivocal verdict that you have to be in school, or about to start school (usually college or graduate school, but high school can work too), in order to be considered for an internship.
I suspect the reason for this is to protect a potential intern from exploitation by companies who would offer temporary jobs to people while labeling them as learning opportunities in order to pay less.
Personally, I feel for people like you, in an ideal world you should be allowed to have the same opportunities as the formally schooled people, and occasionally there are. For example, some companies offer residency programs which are a bit similar to internships. In many cases, though, these are designed to help underrepresented groups. Some examples include:
Facebook’s The Artificial Intelligence (AI) Residency Program
Google’s Eng Residency
Microsoft AI Residency Program
How can I get an intership as a product manager at faang or any other tech company?
What questions to expect in cloud support engineer deployment roles at AWS?
Recipes to succeed in corporate, how to navigate the job world.
Ever wonder how the FAANGM big tech make their money?
This is a common bug in the thinking of people, doing the wrong thing harder in the hope that it works this time. Asking tough questions is like hitting a key harder when the broken search function in LinkedIn fails. No matter how hard you hit the key, it won’t work.
Given the low quality of the LinkedIn platform from a technical perspective it seems hard to imagine that they hire the best or even the mediocre. But it may be that because their interviews are too tough to hire good programmers.
Just because so few people can get a question right, does not mean it is a good question, merely that it is tough. I am also a professional software developer and know a bunch of algorithms, but also am wholly ignorant of many others. Thus it is easy to ask me (or anyone else) questions they can’t answer. I am (for instance) an expert on sort/merging, and partial text matching, really useful for big data, wholly useless for UX.
So if you ask about an obscure algorithm or brain teaser that is too hard you don’t measure their ability, but their luck in happening to know that algo or having seen the answer to a puzzle. More importantly how likely are they to need it ?
This is a tricky problem for interviewers, if you know that a certain class of algorithms are necessary for a job, then if you’re a competent s/w dev manager then odds are that you’ve already put them in and they just have to integrate or debug them. Ah, so I’ve now given away one of my interview techniques. We both know that debugging is more of our development effort than writing code. Quicksort (for instance) is conceptually quite easy being taught to 16 year old Brits or undergraduate Americans, but it turns out that some implementations can go quadratic in space and/or time complexity and that comparison of floating point numbers is a sometimes thing and of course some idiot may have put = where he should have put == or >= when > is appropriate.
Resolving that is a better test, not complete of course, but better.
For instance I know more about integrating C++ with Excel than 99.9% of programmers. I can ask you why there are a whole bunch of INT 3’s laying around a disassembly of Excel, yes I have disassembled Excel, and yes my team was at one point asked to debug the damned thing for Microsoft. I can ask about LSTRs, and why SafeArrays are in fact really dangerous. I can even ask you how to template them. That’s not easy, trust me on this.
Are you impressed by my knowledge of this ?
I sincerely hope not.
Do you think it would help me build a competent search engine, something that the coders at LinkedIn are simply unable to do ?
No.
I also know a whole bunch of numerical methods for solving PDEs. Do you know what a PDE even is ? This can be really hard as well. Do you care if you can’t do this ? Again not relevant to fixing the formless hell of LI code. fire up the developer mode of your browser and see what it thinks of Linkedin’s HTML, I’ve never seen a debugger actually vomit in my face before.
A good interview is a measure not just of ability but of the precise set of skills you bring to the team. A good interviewer is not looking for the best, but the best fit.
Sadly some interviewers see it as an ego thing that they can ask hard questions. So can I, but it’s not my job. My job is identfying those that can deliver most, hard questions that you can’t answer are far less illuminating that questions you struggle with because I get to see the quality of your thinking in terms of complexity, insight, working with incomplete and misleading information and determination not to give up because it is going badly.
Do you as a candidate ask questions well ? If I say something wrong, do you a) notice, b) have the soft skills to put it to me politely, c) have the courage to do so ?
Courage is an under-rated attribute that superior programmers have and failed projects have too little of.
Yes, some people have too much courage, which is a deeper point, where for many things there is an optimum amount and the right mix for your team at this time. I once had to make real time un-reversible changes to a really important database whilst something very very bad happened on TV news screens above my head. Too much or too little bravery would have had consequences. Most coding ain’t that dramatic, but the superior programmer has judgement, when to try the cool new language/framework feature in production code, when to optimise for speed, or for space and when for never ever crashes even when memory is corrupted by external effects. When does portability matter or not ? Some code will only be used once and we both know some of it will literally never be executed in live, do we obsess about it’s quality in terms of performance and maintainability .
The right answer is it depends, and that is a lot more important to hiring the best than curious problems in number theory or O(N Log(N)) for very specific code paths that rarely execute.
Also programming is a marathon, not a sprint, or perhaps more like a long distance obstacle course, stretches of plodding along with occasional walls. Writing a better search engine than LinkedIn “programmers” manage is a wall, I know this because my (then) 15 year old son took several weeks, at 15, he was only 2 or 3 times better than the best at LinkedIn, but he’s 18 now and as a professional grade programmer, him working for LinkedIn would be like putting the head of the Vulcan Science Academy in among a room of Gwyneth Paltrow clones.
And that ultimately may be the problem.
Good people have more options and if you have a bad recruitment process then they often will reject your offer. We spend more of our lives with the people we work with than sleep with and if at interview management is seen as pompous or arrogant then they won’t get the best people.
There’s now a Careers advice space on Quora, you might find it interesting.
8- Resources:
– Cracking the Coding Interview: 189 Programming Questions and Solutions
Top sites for practice problems:
• Facebook Sample Interview Problems and Solutions
• InterviewBit
• LeetCode
• HackerRank
Video prep guides for tech interviews:
• Cracking the Facebook Coding Interview: The Approach (The password is FB_IPS)
• Cracking the Facebook Coding Interview: Problem Walk-through (The password is FB_IPS)
Additional resources*:
• I Interviewed at Five Top Companies in Silicon Valley in Five Days, and Luckily Got
Five Job Offers
Active Hydrating Toner, Anti-Aging Replenishing Advanced Face Moisturizer, with Vitamins A, C, E & Natural Botanicals to Promote Skin Balance & Collagen Production, 6.7 Fl Oz
Age Defying 0.3% Retinol Serum, Anti-Aging Dark Spot Remover for Face, Fine Lines & Wrinkle Pore Minimizer, with Vitamin E & Natural Botanicals
Firming Moisturizer, Advanced Hydrating Facial Replenishing Cream, with Hyaluronic Acid, Resveratrol & Natural Botanicals to Restore Skin's Strength, Radiance, and Resilience, 1.75 Oz
Skin Stem Cell Serum
Smartphone 101 - Pick a smartphone for me - android or iOS - Apple iPhone or Samsung Galaxy or Huawei or Xaomi or Google Pixel
Can AI Really Predict Lottery Results? We Asked an Expert.
Djamgatech
Read Photos and PDFs Aloud for me iOS
Read Photos and PDFs Aloud for me android
Read Photos and PDFs Aloud For me Windows 10/11
Read Photos and PDFs Aloud For Amazon
Get 20% off Google Workspace (Google Meet) Business Plan (AMERICAS): M9HNXHX3WC9H7YE (Email us for more)
Get 20% off Google Google Workspace (Google Meet) Standard Plan with the following codes: 96DRHDRA9J7GTN6(Email us for more)
FREE 10000+ Quiz Trivia and and Brain Teasers for All Topics including Cloud Computing, General Knowledge, History, Television, Music, Art, Science, Movies, Films, US History, Soccer Football, World Cup, Data Science, Machine Learning, Geography, etc....
List of Freely available programming books - What is the single most influential book every Programmers should read
- Bjarne Stroustrup - The C++ Programming Language
- Brian W. Kernighan, Rob Pike - The Practice of Programming
- Donald Knuth - The Art of Computer Programming
- Ellen Ullman - Close to the Machine
- Ellis Horowitz - Fundamentals of Computer Algorithms
- Eric Raymond - The Art of Unix Programming
- Gerald M. Weinberg - The Psychology of Computer Programming
- James Gosling - The Java Programming Language
- Joel Spolsky - The Best Software Writing I
- Keith Curtis - After the Software Wars
- Richard M. Stallman - Free Software, Free Society
- Richard P. Gabriel - Patterns of Software
- Richard P. Gabriel - Innovation Happens Elsewhere
- Code Complete (2nd edition) by Steve McConnell
- The Pragmatic Programmer
- Structure and Interpretation of Computer Programs
- The C Programming Language by Kernighan and Ritchie
- Introduction to Algorithms by Cormen, Leiserson, Rivest & Stein
- Design Patterns by the Gang of Four
- Refactoring: Improving the Design of Existing Code
- The Mythical Man Month
- The Art of Computer Programming by Donald Knuth
- Compilers: Principles, Techniques and Tools by Alfred V. Aho, Ravi Sethi and Jeffrey D. Ullman
- Gödel, Escher, Bach by Douglas Hofstadter
- Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
- Effective C++
- More Effective C++
- CODE by Charles Petzold
- Programming Pearls by Jon Bentley
- Working Effectively with Legacy Code by Michael C. Feathers
- Peopleware by Demarco and Lister
- Coders at Work by Peter Seibel
- Surely You're Joking, Mr. Feynman!
- Effective Java 2nd edition
- Patterns of Enterprise Application Architecture by Martin Fowler
- The Little Schemer
- The Seasoned Schemer
- Why's (Poignant) Guide to Ruby
- The Inmates Are Running The Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity
- The Art of Unix Programming
- Test-Driven Development: By Example by Kent Beck
- Practices of an Agile Developer
- Don't Make Me Think
- Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin
- Domain Driven Designs by Eric Evans
- The Design of Everyday Things by Donald Norman
- Modern C++ Design by Andrei Alexandrescu
- Best Software Writing I by Joel Spolsky
- The Practice of Programming by Kernighan and Pike
- Pragmatic Thinking and Learning: Refactor Your Wetware by Andy Hunt
- Software Estimation: Demystifying the Black Art by Steve McConnel
- The Passionate Programmer (My Job Went To India) by Chad Fowler
- Hackers: Heroes of the Computer Revolution
- Algorithms + Data Structures = Programs
- Writing Solid Code
- JavaScript - The Good Parts
- Getting Real by 37 Signals
- Foundations of Programming by Karl Seguin
- Computer Graphics: Principles and Practice in C (2nd Edition)
- Thinking in Java by Bruce Eckel
- The Elements of Computing Systems
- Refactoring to Patterns by Joshua Kerievsky
- Modern Operating Systems by Andrew S. Tanenbaum
- The Annotated Turing
- Things That Make Us Smart by Donald Norman
- The Timeless Way of Building by Christopher Alexander
- The Deadline: A Novel About Project Management by Tom DeMarco
- The C++ Programming Language (3rd edition) by Stroustrup
- Patterns of Enterprise Application Architecture
- Computer Systems - A Programmer's Perspective
- Agile Principles, Patterns, and Practices in C# by Robert C. Martin
- Growing Object-Oriented Software, Guided by Tests
- Framework Design Guidelines by Brad Abrams
- Object Thinking by Dr. David West
- Advanced Programming in the UNIX Environment by W. Richard Stevens
- Hackers and Painters: Big Ideas from the Computer Age
- The Soul of a New Machine by Tracy Kidder
- CLR via C# by Jeffrey Richter
- The Timeless Way of Building by Christopher Alexander
- Design Patterns in C# by Steve Metsker
- Alice in Wonderland by Lewis Carol
- Zen and the Art of Motorcycle Maintenance by Robert M. Pirsig
- About Face - The Essentials of Interaction Design
- Here Comes Everybody: The Power of Organizing Without Organizations by Clay Shirky
- The Tao of Programming
- Computational Beauty of Nature
- Writing Solid Code by Steve Maguire
- Philip and Alex's Guide to Web Publishing
- Object-Oriented Analysis and Design with Applications by Grady Booch
- Effective Java by Joshua Bloch
- Computability by N. J. Cutland
- Masterminds of Programming
- The Tao Te Ching
- The Productive Programmer
- The Art of Deception by Kevin Mitnick
- The Career Programmer: Guerilla Tactics for an Imperfect World by Christopher Duncan
- Paradigms of Artificial Intelligence Programming: Case studies in Common Lisp
- Masters of Doom
- Pragmatic Unit Testing in C# with NUnit by Andy Hunt and Dave Thomas with Matt Hargett
- How To Solve It by George Polya
- The Alchemist by Paulo Coelho
- Smalltalk-80: The Language and its Implementation
- Writing Secure Code (2nd Edition) by Michael Howard
- Introduction to Functional Programming by Philip Wadler and Richard Bird
- No Bugs! by David Thielen
- Rework by Jason Freid and DHH
- JUnit in Action
#BlackOwned #BlackEntrepreneurs #BlackBuniness #AWSCertified #AWSCloudPractitioner #AWSCertification #AWSCLFC02 #CloudComputing #AWSStudyGuide #AWSTraining #AWSCareer #AWSExamPrep #AWSCommunity #AWSEducation #AWSBasics #AWSCertified #AWSMachineLearning #AWSCertification #AWSSpecialty #MachineLearning #AWSStudyGuide #CloudComputing #DataScience #AWSCertified #AWSSolutionsArchitect #AWSArchitectAssociate #AWSCertification #AWSStudyGuide #CloudComputing #AWSArchitecture #AWSTraining #AWSCareer #AWSExamPrep #AWSCommunity #AWSEducation #AzureFundamentals #AZ900 #MicrosoftAzure #ITCertification #CertificationPrep #StudyMaterials #TechLearning #MicrosoftCertified #AzureCertification #TechBooks
Top 1000 Canada Quiz and trivia: CANADA CITIZENSHIP TEST- HISTORY - GEOGRAPHY - GOVERNMENT- CULTURE - PEOPLE - LANGUAGES - TRAVEL - WILDLIFE - HOCKEY - TOURISM - SCENERIES - ARTS - DATA VISUALIZATION
Top 1000 Africa Quiz and trivia: HISTORY - GEOGRAPHY - WILDLIFE - CULTURE - PEOPLE - LANGUAGES - TRAVEL - TOURISM - SCENERIES - ARTS - DATA VISUALIZATION
Exploring the Pros and Cons of Visiting All Provinces and Territories in Canada.
Exploring the Advantages and Disadvantages of Visiting All 50 States in the USA
Health Health, a science-based community to discuss health news and the coronavirus (COVID-19) pandemic
- U.S. overdose deaths plummet, saving thousands of livesby /u/newzee1 on September 18, 2024 at 11:03 am
submitted by /u/newzee1 [link] [comments]
- RSV Can Be a Killer. New Tools Are Identifying the Most At-Risk Kidsby /u/wiredmagazine on September 18, 2024 at 10:50 am
submitted by /u/wiredmagazine [link] [comments]
- Report: Cancer diagnoses are more common but so is survivingby /u/Maxcactus on September 18, 2024 at 8:47 am
submitted by /u/Maxcactus [link] [comments]
- UK government’s nutrition advisers are paid by world’s largest food companies, BMJ analysis revealsby /u/Jojuj on September 18, 2024 at 6:45 am
submitted by /u/Jojuj [link] [comments]
- Opinion | It Was Only a Matter of Time Before Abortion Bans Killed Someone (Gift Article)by /u/nytopinion on September 18, 2024 at 12:43 am
submitted by /u/nytopinion [link] [comments]
Today I Learned (TIL) You learn something new every day; what did you learn today? Submit interesting and specific facts about something that you just found out here.
- TIL birds can eat hot pepper without a problem because they don’t feel its hotnessby /u/Wild-Mushroom2404 on September 18, 2024 at 12:25 pm
submitted by /u/Wild-Mushroom2404 [link] [comments]
- TIL that, in a bid to raise much needed funds, North Korea issued a set of stamps to commemorate the wedding of Prince Charles and Princess Diana in 1981by /u/saggarmakers on September 18, 2024 at 11:10 am
submitted by /u/saggarmakers [link] [comments]
- TIL Vitamin D deficiency makes sun exposure rewarding, as an evolutionary mechanism to encourage animals to get enough vitamin D. Once vitamin D levels are replete, sun exposure no longer produces euphoriaby /u/Endonium on September 18, 2024 at 10:32 am
submitted by /u/Endonium [link] [comments]
- TIL Jack Black didn't learn how to play the guitar until he was 23 years old. Kyle Gass taught him to play guitar in return for food, mainly from the fast food chain Jack in the Boxby /u/SappyGilmore on September 18, 2024 at 9:56 am
submitted by /u/SappyGilmore [link] [comments]
- TIL that the Roman emperor Vespasian did not in fact issue a tax on urinating in public latrines but instead on the distribution of urine collected from Rome's public urinalsby /u/Kwajoch on September 18, 2024 at 9:18 am
submitted by /u/Kwajoch [link] [comments]
Reddit Science This community is a place to share and discuss new scientific research. Read about the latest advances in astronomy, biology, medicine, physics, social science, and more. Find and submit new publications and popular science coverage of current research.
- Cannabis products used for medical purposes in children and adolescents may be associated with an increased risk of adverse events, according to a systematic review and meta-analysis of 23 randomized clinical trials from countries including Australia, New Zealand, the US, and the UK.by /u/MistWeaver80 on September 18, 2024 at 12:07 pm
submitted by /u/MistWeaver80 [link] [comments]
- A study of 4- to 5-year-old children in Spain found that participants who were breastfed as infants, for 1 to 8 months, tended to have better cognitive abilities. These children had higher IQs, better working memory, nonverbal abilities, and cognitive proficiency.by /u/mvea on September 18, 2024 at 12:02 pm
submitted by /u/mvea [link] [comments]
- Breastfeeding from 1 to 8 months of age is associated with better cognitive abilities at 4 years old, study findsby /u/chrisdh79 on September 18, 2024 at 12:02 pm
submitted by /u/chrisdh79 [link] [comments]
- COVID-19 cases across the U.S. follow six monthly cycles. Findings offer crucial insights for disease modelling and getting medical supplies and vaccines to the people who need them. The U.S. seen a significant spike in coronavirus cases this summer, which, were mostly concentrated in the southby /u/Wagamaga on September 18, 2024 at 10:40 am
submitted by /u/Wagamaga [link] [comments]
- Scientists discover sleep “reset” mechanism in the brain that prevents memory overload. Researchers found that a burst of neural silence in a specific part of the brain in mice, the hippocampus, allows neurons involved in memory to reset and prepare for new learning the following day.by /u/mvea on September 18, 2024 at 10:06 am
submitted by /u/mvea [link] [comments]
Reddit Sports Sports News and Highlights from the NFL, NBA, NHL, MLB, MLS, and leagues around the world.
- Toto Schillaci, top scorer at the 1990 World Cup, has died at the age of 59 after a battle with colon cancerby /u/9oRo on September 18, 2024 at 10:44 am
submitted by /u/9oRo [link] [comments]
- Billie Jean King set to make history with Congressional Gold Medalby /u/PrincessBananas85 on September 18, 2024 at 4:46 am
submitted by /u/PrincessBananas85 [link] [comments]
- Shohei Ohtani now at 48 HR and 48 SB. 50/50 in sightby /u/Oldtimer_2 on September 18, 2024 at 1:51 am
Source: https://x.com/MLB/status/1836187230458479098?t=HstG0McquljZ8YMtMJLK1g&s=19 submitted by /u/Oldtimer_2 [link] [comments]
- Tennessee is adding a 10% fee on football game tickets next season to pay playersby /u/Oldtimer_2 on September 18, 2024 at 1:42 am
submitted by /u/Oldtimer_2 [link] [comments]
- A man accused of stalking UConn star Paige Bueckers is found with an engagement ring near airportby /u/Oldtimer_2 on September 17, 2024 at 9:50 pm
submitted by /u/Oldtimer_2 [link] [comments]