Software Engineer Interview Questions

467,307 software engineer 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.

Viewing 2101 - 2110 interview questions

Glassdoor has 467,307 interview questions and reports from Software engineer interviews. Prepare for your interview. Get hired. Love your job.