Given a linked list, each node in this linked list has two pointers, one (node.next) points to the next node (the one you will see in regular linked lists), and the other (node.random) points to a random node in the list. Write a program to copy this linked list. You need to copy all the nodes in the given linked list.
List some iOS/Android third party libraries you have used and your thoughts on them.
iOS - Take three objects: a grandparent, parent and child. The grandparent retains the parent, the parent retains the child and the child retains the parent. The grandparent releases the parent. Explain what happens.
iOS - Explain your process for tracing and fixing a memory leak.
iOS - When dealing with property declarations, what is the difference between atomic and non-atomic?
iOS - Describe the change on screen rotation handling introduced in iOS6.
iOS - You are asked to implement an enhanced UIProgressView for a streaming video player. In addition to the current play progress, this enhanced progress view also needs to display the buffering progress (which is usually ahead of the current play progress). Assume you can retrieve all necessary state data from the player object. Describe at a high level how you would implement this enhanced UIProgressView.
Android - Describe what is activity and fragment.
Android - Describe what a service is.
Android - Describe how you would detect if a device is rooted or not programmatically.
Tell us why you are the best fit for the Mobile Application Team at FireEye.
Please upload any relevant project work you would like us to review (optional).