Engineer Developer Interview Questions

467,885 engineer developer interview questions shared by candidates

Given inputs from Google Search, you have K chunks. Each chunk is individually alphabetically ordered (apple, banana, cat) ... (*apple, *banan, *cat). You want to merge all chunks into a single list. How would you do it? What limitations are there to your approach? It's on an x86 processor, what does that mean and how does that affect your approach?
avatar

Software Engineer

Interviewed at Google

4.4
Dec 8, 2011

Given inputs from Google Search, you have K chunks. Each chunk is individually alphabetically ordered (apple, banana, cat) ... (*apple, *banan, *cat). You want to merge all chunks into a single list. How would you do it? What limitations are there to your approach? It's on an x86 processor, what does that mean and how does that affect your approach?

Task Description Diamond Mine is your new favorite game. Its map is represented as a square matrix. The board is filled with cells, and each cell will have an initial value as follows: • A value ≥ 0 represents a path. • A value of 1 represents a diamond. • A value of −1 represents an obstruction. The basic rules for playing Diamond Mine are as follows: • The player starts at (0, 0) and moves to (n−1, n−1), by moving right (→) or down (↓) through valid path cells. • After reaching (n−1, n−1), the player must travel back to (0, 0)by moving left (←) or up (↑) through valid path cells. • When passing through a path cell containing a diamond, the diamond is picked up. Once picked up, the cell becomes an empty path cell. • If there is no valid path between (0, 0) and (n−1, n−1), then no diamonds can be collected. • The ultimate goal is to collect as many diamonds as you can. For example, consider the following grid: 0 1 -1 0 Start at the top left corner. Move right one, collecting a diamond. Move down one to the goal. Cell (1, 0) is blocked, so we can only return on the path we took initially. All paths have been explored, and 1 diamond was collected. Function Description Complete the function collectMax in the editor below. It must return an integer denoting the maximum number of diamonds you can collect given the current map. collectMax has the following parameter(s): mat[mat[0],...mat[n-1]]: an array of integers describing the game grid map Constraints • 1 ≤ n ≤ 100 • −1 ≤ mat[i][j] ≤ 1 Input Format for Custom TestingSample Case 0 Sample Input 0 3 3 0 1 -1 1 0 -1 1 1 1 Sample Output 0 5 Explanation 0 You can collect a maximum of 5 diamonds by taking the following path: (0, 0) → (0,1) → (1,1) → (2, 1) → (2, 2) → (2, 1) → (2, 0) → (1, 0) → (0, 0) Sample Case 1 Sample Input 1 3 3 0 1 1 1 0 1 1 1 1 Sample Output 1 7 You can collect all 7 diamonds by following the path: 0 → 1 → 1 ↑ ↓ 1 0 1 ↑ ↓ 1 ← 1 ← 1 Sample Case 2 Sample Input 2 3 3 0 1 1 1 0 -1 1 1 -1 Sample Output 2 0 Explanation 2 The cell at (2, 2) is blocked, so you cannot collect any diamonds.
avatar

Software Engineer

Interviewed at Uber

3.7
Oct 28, 2018

Task Description Diamond Mine is your new favorite game. Its map is represented as a square matrix. The board is filled with cells, and each cell will have an initial value as follows: • A value ≥ 0 represents a path. • A value of 1 represents a diamond. • A value of −1 represents an obstruction. The basic rules for playing Diamond Mine are as follows: • The player starts at (0, 0) and moves to (n−1, n−1), by moving right (→) or down (↓) through valid path cells. • After reaching (n−1, n−1), the player must travel back to (0, 0)by moving left (←) or up (↑) through valid path cells. • When passing through a path cell containing a diamond, the diamond is picked up. Once picked up, the cell becomes an empty path cell. • If there is no valid path between (0, 0) and (n−1, n−1), then no diamonds can be collected. • The ultimate goal is to collect as many diamonds as you can. For example, consider the following grid: 0 1 -1 0 Start at the top left corner. Move right one, collecting a diamond. Move down one to the goal. Cell (1, 0) is blocked, so we can only return on the path we took initially. All paths have been explored, and 1 diamond was collected. Function Description Complete the function collectMax in the editor below. It must return an integer denoting the maximum number of diamonds you can collect given the current map. collectMax has the following parameter(s): mat[mat[0],...mat[n-1]]: an array of integers describing the game grid map Constraints • 1 ≤ n ≤ 100 • −1 ≤ mat[i][j] ≤ 1 Input Format for Custom TestingSample Case 0 Sample Input 0 3 3 0 1 -1 1 0 -1 1 1 1 Sample Output 0 5 Explanation 0 You can collect a maximum of 5 diamonds by taking the following path: (0, 0) → (0,1) → (1,1) → (2, 1) → (2, 2) → (2, 1) → (2, 0) → (1, 0) → (0, 0) Sample Case 1 Sample Input 1 3 3 0 1 1 1 0 1 1 1 1 Sample Output 1 7 You can collect all 7 diamonds by following the path: 0 → 1 → 1 ↑ ↓ 1 0 1 ↑ ↓ 1 ← 1 ← 1 Sample Case 2 Sample Input 2 3 3 0 1 1 1 0 -1 1 1 -1 Sample Output 2 0 Explanation 2 The cell at (2, 2) is blocked, so you cannot collect any diamonds.

1st phonescreen: 1) background 2) algorithmic question which i dont remember but it was average difficulty level 3) Pagination in java - Given an implemented method getFeed(userId, StartTimeStamp, EndTimeTimeStamp) which returns a List<Feed>, right an API to return feeds to a mobile client. Design the API from scratch
avatar

Senior Software Engineer

Interviewed at Tinder

3.5
Jul 6, 2017

1st phonescreen: 1) background 2) algorithmic question which i dont remember but it was average difficulty level 3) Pagination in java - Given an implemented method getFeed(userId, StartTimeStamp, EndTimeTimeStamp) which returns a List<Feed>, right an API to return feeds to a mobile client. Design the API from scratch

write code for this function matchstr() given "ab" in a(1)b(1) ---> true "z" in a(4)b(4) --> false "aaaa" in a(3)b(3) ---> false "aab" in a(3)b(3) ---> true "aaba" in a(3)b(3) ---> true asked and he told that a(3)b(3) means {"ab","aab","aaab","aabbb"... etc.. all combinations of a dn b string lengths... b should always be after an a. asked and he told that a(3)b(3)a(3) is also possible asked and told that a(0)b(3)a(3)c(3) is also possible .. which means every string starts with b - This information changed my interview experience.
avatar

Software Engineer

Interviewed at Uber

3.7
Aug 4, 2016

write code for this function matchstr() given "ab" in a(1)b(1) ---> true "z" in a(4)b(4) --> false "aaaa" in a(3)b(3) ---> false "aab" in a(3)b(3) ---> true "aaba" in a(3)b(3) ---> true asked and he told that a(3)b(3) means {"ab","aab","aaab","aabbb"... etc.. all combinations of a dn b string lengths... b should always be after an a. asked and he told that a(3)b(3)a(3) is also possible asked and told that a(0)b(3)a(3)c(3) is also possible .. which means every string starts with b - This information changed my interview experience.

Online screen sharing interview questions Q) Remove html tags in a string Sample Input: <h1>Hello World!</h1> <p>something</p> Output: Hello World! something My Solution: public static String stripHtmlTags(String html){ html = html.replaceAll("<.*?>", " ");//replace tag with space html = html.replaceAll(" +", " ");//replace multi-spaces with a single space return html; } Q) Given an integer input array A, you need to create an integer output array B of same size such that each entry at index i, is stated as B[i] = A[0]*A[1]*....A[i-1]*A[i+1]*A[i+2]*.... So, it means we have to multiply all the numbers excluding the value at that index i. Sample Input: {3,1,6,4} Output: [24, 72, 12, 18] B[0] = 1*6*4, B[1] = 3*6*4, B[2] = 3*1*4, B[3] = 3*1*6 My Solution: /** * Assumptions: zero is not present in the numbers. * @param input int numbers * @return output int array */ public static int[] product(int[] input){ int prod = 1; int[] res = new int[input.length]; for(int ele:input) { prod *= ele; } for(int ind=0; ind<res.length; ind++) { res[ind] = prod/input[ind]; } return res; }
avatar

Java Software Engineer

Interviewed at Wallet Hub

4.2
Jun 30, 2017

Online screen sharing interview questions Q) Remove html tags in a string Sample Input: <h1>Hello World!</h1> <p>something</p> Output: Hello World! something My Solution: public static String stripHtmlTags(String html){ html = html.replaceAll("<.*?>", " ");//replace tag with space html = html.replaceAll(" +", " ");//replace multi-spaces with a single space return html; } Q) Given an integer input array A, you need to create an integer output array B of same size such that each entry at index i, is stated as B[i] = A[0]*A[1]*....A[i-1]*A[i+1]*A[i+2]*.... So, it means we have to multiply all the numbers excluding the value at that index i. Sample Input: {3,1,6,4} Output: [24, 72, 12, 18] B[0] = 1*6*4, B[1] = 3*6*4, B[2] = 3*1*4, B[3] = 3*1*6 My Solution: /** * Assumptions: zero is not present in the numbers. * @param input int numbers * @return output int array */ public static int[] product(int[] input){ int prod = 1; int[] res = new int[input.length]; for(int ele:input) { prod *= ele; } for(int ind=0; ind<res.length; ind++) { res[ind] = prod/input[ind]; } return res; }

Viewing 2111 - 2120 interview questions

Glassdoor has 467,885 interview questions and reports from Engineer developer interviews. Prepare for your interview. Get hired. Love your job.