# 262

Senior Mobile Engineer interview questions shared by candidates

## Top Interview Questions

Sort: Relevance|Popular|Date
Senior Mobile Software Engineer for AWS was asked...19 May 2013

### Hardest Q was: Here's a binary tree: find the longest path within it. So, find a path between any two leaf nodes, where the path is the longest.

class Solution{ int ans[] = new int[1]; //O(n) public int efficientDia(TreeNode root) { if(root == null) return 0; int left = efficientDia(root.left); int right = efficientDia(root.right); ans[0] = Math.max(ans[0], 1 + left+ right); return 1+ Math.max(left, right); } //O(n^2) public int getDiameter(TreeNode root) { if(root == null) return 0; int leftHeight = getHeight(root.left); int rightHeight = getHeight(root.right); if(ans[0] &lt; 1 + leftHeight + rightHeight) { ans[0] = 1 + leftHeight + rightHeight; } return Math.max(getDiameter(root.left), getDiameter(root.right)); } Less

int ans[] = new int[1]; //O(n) public int efficientDia(TreeNode root) { if(root == null) return 0; int left = efficientDia(root.left); int right = efficientDia(root.right); ans[0] = Math.max(ans[0], 1 + left+ right); return 1+ Math.max(left, right); } //O(n^2) public int getDiameter(TreeNode root) { if(root == null) return 0; int leftHeight = getHeight(root.left); int rightHeight = getHeight(root.right); if(ans[0] &lt; 1 + leftHeight + rightHeight) { ans[0] = 1 + leftHeight + rightHeight; } return Math.max(getDiameter(root.left), getDiameter(root.right)); } private int getHeight(TreeNode root) { // TODO Auto-generated method stub if(root == null) return 0; return Math.max(getHeight(root.left), getHeight(root.right))+1; } Less

Indians at all companies always ask tree questions, it makes them giggle inside. I know, because I'm half indian and have interviewed people... tee hee hee Less

### Programming Question: Jay has N friends, there are M different type of tickets. Jay & his friend, each have some tickets ticket[i]. ticket[N] is the number of tickets Jay has. WAP to return the number of friends who's number of tickets are different from jay's ticket count with 'k'. input: 1. N - number of Jay's friends 2. M - different type of tickets 3. k - difference required 4. Array of tickets

Yes, Partial test case passed.

Answer in JS- Trying to remove the duplicate tickets for each person then compare the tickets to get the desired number k. And then get the number of such friends. Not comparing Jay's own tickets. const getFriendsCount = (N, M, k, ticketsArr) =&gt; { const uniqueTktsArr = ticketsArr.map(tktsArr =&gt; Array.from(new Set(tktsArr))) let friendsNum = 0 const jaysTickets = uniqueTktsArr[N] uniqueTktsArr.forEach((tktsArr, i) =&gt; { if (i === N) { return true } let match = 0 tktsArr.every(tkt =&gt; { if (jaysTickets.includes(tkt)) { if (++match === k) { friendsNum++ return false } } return true }) }) return friendsNum } Less

### How do you deal with sensitive financial data of a user on your device?

The device keychain. There were many questions, where even if you answered that you did not have experience in this avenue, what or how would you go about it? Less

Hi.Could you please tell the questions that are asked for you for this role.I have an interview this friday and it would be a great help.Thanks alot Less

Na

### Do you develop with Xamarin Forms?

Yes I have developed several projects with Forms.

### Why do you want to leave your current company? You should not leave your current company. If we hire you we will won't give you more then 20k to your annual salary.

I was speechless as I don't know how to react after I have done their telephone &amp; face to face rounds successfully. Less

### How did you deal with people you didn't get along with at your previous jobs?

Tried to be helpful whenever I could, but otherwise we avoided each other.

I explained .