As many MobileMammoth readers know, I promote the idea of outsourcing app development to experienced developers for a number of reasons.
Once you understand why that is the more efficient route and you’re ready to hire a developer for your app project, how do you know you’re hiring a good, qualified developer? What technical questions should you ask if you’re building an Android app?
This post provides a list of effective and commonly used Android interview questions that you can use to be sure you hire a qualified Android developer who won’t leave your Android app project hanging.
- Answers for each of the 11 Android interview questions
- The questions and answers are a downloadable PDF format
- 5 tips for working with Android developers
11 Android Developer Interview Questions and Answers
- What is the manifest file and how is it used?
- Name 4 ways Android allows you to store data?
- What items or folders are important in every Android project?
- What is ANR?
- How do you avoid an ANR?
- What are containers?
- What did you like better, Ice Cream Sandwich or KitKat?
- What are App Widgets?
- What is AIDL?
- What data types does AIDL support?
- What information do you need before you begin coding an Android app for a client?
Answer: Every Android app must have this manifest file in its root directory named ‘AndroidManifest.xml’. The file includes critical information about the app, including the Java package name for the application.
Bonus follow up question: What is the first element in the AndroidManifest file, right after the encoding declaration?
Answer: ‘manifest’ Note: The ‘permissions’ element is the next best answer if the developer assumed you meant the first element within the ‘manifest’ structure.
Answer: Any of the following 5 possible options are acceptable:
Answer: The developer should name at least 4 of these 6 items below, as these are essential within each Android project:
Answer: ANR stands for “Application Not Responding”. It’s a dialog box that appears when an application doesn’t respond for more than 10 seconds (sometimes it can be less than 10 seconds). The ANR dialog box offers the user the option of either closing the app or waiting for it to finish running.
Answer: A follow-up to the previous question, there are a number of possible answers here. What you want to hear is that you want as little work done as possible on the main thread, also known as the “UI thread”. Since that is the core single thread that your application runs on, you would want to keep activities that require more complex computations or network and database connections, for example, on separate worker threads so as not to slow down the main thread.
Answer: Containers holds objects and widgets together, depending on which items are needed and in what arrangement they need to be in. Containers may hold labels, fields, buttons, or even child containers, as examples.
Answer: These are code names for Android releases, and are well known throughout the Android community. Your developer should be familiar with them. Ice Cream Sandwich was Android version 4.0 (API level 14) released on October 18, 2011. KitKat refers to Android version 4.4 (API level 19), released on October 31, 2013.
This question is really to weed out the beginners who may not be as familiar with the different Android releases and that changes within each. You really want your developer to be in tuned to the Android updates so they know what’s possible, how to best implement what you are asking, and where things are headed in general.
Answer: Also referred to simply as Widgets, App Widgets in the Android world are miniature views that are embedded within Android apps and typically display periodic updates. Music players, weather updates, sports scores, and stock price changes are all examples of data that can be displayed in an App Widget.
Answer: Android Interface Definition Language. It offers to define the client’s interface requirements and moreover a service in order to communicate at same level with the help of inter process communications.
Answer: AIDL supports charSequence, list, map, string, and all types of native java data types.
Answer: You want to find out that this person will seek to truly understand what you are trying to accomplish with your app, and the functionality. The following items are good to hear:
- Objective statement or purpose of the app for the app publisher
- Description of the target audience or user demographics
- Any existing apps that it might be similar to
- Artwork; The best developers will say they require the artwork to be completed before development. This avoids delays, and helps the developer understand the look, feel and branding you are trying to achieve.
Other Android Developer Interview and Engagement Tips:
- When posting a project on job boards such as oDesk or Freelancer, for example, include a unique instruction at the end to ensure they read through the entire description. After all, you want someone who will follow instruction and will read everything you provide them.
- Define specific milestones, and tie payment to their completion to your satisfaction. It’s important to be fair to the developer here, so make the milestones specific. The less room you leave for interpretation, the better the outcome will be for both parties.
- Agree on when and how you will communicate. I always like to include one or two 30-minute Skype calls early in the project to communicate needs and expectations, and then a recurring checkpoint thereafter. Yes, you should expect to pay for their time during these calls, and yes, it is more than worth it. Early communication will save you 10x the cost of your project, and besides, good developers don’t work for free.
- Once you have agreed on format and frequency of communication and project updates, don’t ask for more than that unless there is a critical issue that warrants it. This is all about sticking to your agreement.
- Consider it your responsibility to provide multiple forms of requirements, visual design, and functionality. This includes what function each element of your app performs. If you leave out details assuming they are obvious, you are giving the developer the right to make assumptions based on their own interpretation.
Want these Android interview questions in a downloadable PDF file for printing? Get your PDF here.
Image Credit: Android image by Google CC-BY-SA-3.0, via Wikimedia Commons