Interviews Questions by Career
Interviews Questions by Company
Interviews Questions by Topic
Get Started
Interview Coach 1:1
Gain the confidence you need by asking our professionals any interview scenario, question, or answer you are unsure about.
Let Us Review Your Answers
Our interviewing professionals will gladly review and revise any answer you send us. Allowing you to craft perfect responses for your next job interview.
Interview Questions by Topic
Interview Questions by Career
Interview Questions by Company

Application Developer Interview
Questions

21 Questions and Answers by William Swansen

Updated January 18th, 2020 | William Swansen is an author, job search strategist and career advisor who assists individuals from all over the world.
Job Interviews     Careers     Computer Science    
Question 1 of 21
When you described Python, you mentioned dictionaries. I'm not familiar with that term. Can you elaborate on this?
View Answers
How to Answer
This is an example of the type of follow up question an interviewer may ask in response to your answer for a previous technical question. They may or may not be familiar with a part of your previous answer, but in either case, they use follow up questions to verify your knowledge of a topic and to learn more about your communication style. You can anticipate follow up questions during most technical interviews.
1000s of Interview Questions
Win your next job by practicing from our question bank. We have thousands of questions and answers created by interview experts.
Answer Examples
1.
When you described Python, you mentioned dictionaries. I'm not familiar with that term. Can you elaborate on this?
This is an example of the type of follow up question an interviewer may ask in response to your answer for a previous technical question. They may or may not be familiar with a part of your previous answer, but in either case, they use follow up questions to verify your knowledge of a topic and to learn more about your communication style. You can anticipate follow up questions during most technical interviews.

William's Answer #1
"Python has several data types, one being a dictionary. Dictionaries define the relationships between keys and values. They consist of pairs of keys and their corresponding values and are indexed by the keys. Dictionaries are similar to associate array or hash table in other languages."
William's Answer #2
"Dictionaries in Python are similar to hash tables or associate arrays in other programming languages. A dictionary is a data type that defines the one-to-one relationships between keys and values. Each dictionary consists of a pair of keys and their corresponding values. An example of this is Mickey and Donald as keys and their values are mouse and duck."
2.
Please explain how you would perform a load test.
This type of question is known as an operational question, which differs from a technical question. By asking this, the interviewer is expecting you to describe a process rather than provide a definition. The question still seeks to explore your knowledge of application development, but in this case, they are looking to see if you know how to complete a specific task. Organize your answer in a logical and sequential framework, and include the purpose or benefit of performing the task.

William's Answer #1
"Load testing is performed by running an application on multiple systems or devices simultaneously. Its purpose is to determine how the application functions under a load and if there is any degradation in the application's performance. An example of a load test is to launch the application simultaneously on several systems with requests for the same data using popup screens. The time required to retrieve and display the data is then compared to that of a single instance of the same process."
William's Answer #2
"Load testing is performed to determine how an application will respond when running on multiple systems. The developer is interested in whether there is any differences in the speed of the application and if running it under a load causes any of its functions to fail or get hung up. Load testing can be performed by running the application under a moderate load for a long period or using a heavy load for a shorter period. In either case, the developer is seeking to understand the operational limitations of the application."
3.
Please explain how you would perform a load test.
4.
What is the importance of the User Interface when developing applications?
Since the User Interface (UI) is one of the most critical parts of any application, you can expect a lot of questions about this topic. As a developer, you should be able to address these based on your education and experience. Be sure you can discuss the business benefits of a good UI design since this is important to companies developing commercial applications.

William's Answer #1
"The User Interface, or UI, is probably the most important feature of a well-designed application. No matter how good an application functions, a bad UI will make it difficult to use and frustrate the users. The key to developing a good UI is to take steps to understand how users will interact with the application and what platforms they will use it on. Making the UI responsive so it will have the same look and feel across a variety of platforms is also important. Finally, the UI should be tested with actual users to confirm that your assumptions are correct and to address any issues they identify before the application is released."
William's Answer #2
"When I begin a development project, I start with the User Interface, also known as the UI. Since this is likely the only part of the application the users will see and interact with, it is important that it is done correctly. I meet with prospective users and discuss the purpose, functions, and features of the proposed application. I then solicit their feedback about how they would like to interact with the application and what are the features of the UI they would like and not like, such as buttons, menus, appearance, and other items. Once I have built the UI and before I release the app for use, I meet with users to have them test the UI and provide me with their feedback, so I can fix any issues they identify."
5.
What are the key steps when migrating an application from one platform to another?
This is a technical question that will help the interviewer gain an understanding of your experience and ability to migrated applications across platforms or environments. This is important since most applications are developed for multiple platforms, including host-based, web, mobile and the cloud. It is important to remember that the interviewer isn't expecting a detailed, step-by-step description, but rather a summary of the key steps and best practices. You may want to ask the interviewer to provide more details about this question before you answer it. These can include the type of platforms, the nature of the application and other factors that will help you better compose your answer.

William's Answer #1
"There are a number of best practices you should follow to migrate applications between and across platforms. These include performing an assessment, mapping out a strategy, developing a governance format, ensuring licensing issues are addressed, and testing (and retesting) before releasing the application into production. Following these best practices will ensure a smooth and successful migration."
William's Answer #2
"Application migrations are becoming more common for both proprietary and commercial applications due to the variety of platforms, the proliferation of mobile apps, and the growth of cloud-based computing. Migrating apps developed for computing platforms to either mobile devices or the cloud requires a detailed plan and specific steps to be successful. The key elements of this process are performing an assessment, involving the stakeholders and setting proper expectations, developing a plan, assigning the tasks, regular reviews of the project, and testing the application on each platform to ensure it performs the same." Once you've completed this process, the application is ready for use across the various environments."
6.
What are you doing to keep current in technology?
Staying current with technology and industry developments is critical for any profession. However, in the faced-paced and dynamic environment of application development, it is even more important. Application Developers who don't have a plan to stay current in the technology will quickly fall behind and their value to the organization will diminish. If you don't have a professional development plan, create one. If you do, be able to summarize it succinctly, focusing on the benefits to the employer.

William's Answer #1
" I have always considered myself a life-long learner and I am curious by nature. I recognize both the need and the benefits of staying up to date on the technology in my field. I accomplish this by subscribing to technology publications and blogs, attending industry conferences and taking online classes to learn new languages and methodologies. I am also a member of several user groups that meet regularly to discuss new developments in application development technology."
William's Answer #2
"I started developing code while I was still young and have been interested in application development technology for most of my life. As a result of this, I have always taken time to learn new ideas and techniques that would help me improve my coding skills. Once I started doing this as a profession, I created a development plan to maintain my currency in this industry. The components of my plan include both formal and informal training, online forums and blogs, participation in user groups and attendance at industry events. I even started a discussion group at my last job. We met over lunch once a week and assigned one of the group members to present an application development topic, which we then discussed."
7.
What are Verification and Validation, and how do they differ?
Another hybrid question, which addresses both technical and operational competencies. Again, the best approach is to define the terms, discuss how each process is used in application development, and if necessary, provide an example. Like most technical questions, your answer should be direct, succinct and brief. Let the interviewer ask a follow-up question if they need additional details or want to explore the topic in more depth.

For exampl: "Verification is a static testing process while Validation is a dynamic test. Verification evaluates each step in the process to ensure it meets the requirements for that stage of the process. Validation occurs at the end of the development process to confirm that the software meets its specifications and performance metrics. Verification focuses on the process, while validation focuses on the product."
William's Answer #1
"Verification is a static testing process while Validation is a dynamic test. Verification evaluates each step in the process to ensure it meets the requirements for that stage of the process. Validation occurs at the end of the development process to confirm that the software meets its specifications and performance metrics. Verification focuses on the process, while validation focuses on the product."
William's Answer #2
"Verification and Validation are both testing procedures, but they are different from each other in several ways. Verification is process-focused and looks to confirm that each step in an application development project meets its requirements. Verification looks at documents, requirements, and specifications and uses checklists. Validation is product-focused. Its purpose is to examine the final product to ensure it meets the specifications of the user. Validation uses dynamic testing methodologies while verification is a static process."
8.
What is the difference between Quality Assurance and Quality Control in software testing?
This question is a hybrid between both a technical question and an operational question. The interviewer is seeking to understand your knowledge of the quality function in the software development process, and also how you use quality measures when developing an application. Make sure you address both of these concerns in your answer.

William's Answer #1
"Quality Assurance or QA is a planned, systematic way to ensure quality throughout the application development process. It is a component of the process which tests the outcomes and adjusts the process to reduce errors. Quality Control or QC is the final testing of the application to discover any faults or bugs in the software. QC uses the process developed by QA."
William's Answer #2
"Quality Assurance, or QA and Quality Control, also known as QC are both processes whose goals are to eliminate defects in a software application. The difference is that QA is performed throughout the development process and identifies steps in the process which are responsible for the errors the QA testing has identified. These steps are then modified to eliminate future errors. QC is performed at the end of the development process to ensure the application functions properly. QC follows guidelines developed by QA."
9.
Can you describe Python and some of its features?
Yet another technical question. As an Application Developer, you should anticipate that the bulk of your interview will be comprised of these types of questions. You can narrow the field of questions you need to prepare for by researching the company and learning about its products or internal applications. This should provide you with some insight into their technology and the programming languages and tools they use. However, be prepared to answer questions outside of the scope of your findings just in case.

William's Answer #1
" Python is an interpreted language, similar to Java, which has components such as objects, modules, exceptions, threads and memory management features. It is open-source, high level and relatively easy to learn and use. Like Java, Python has a library of prewritten tools for programming which are contributed through the open-source process."
William's Answer #2
"Python is an open-source language that is relatively simple and easy to learn and use. It is portable so it's machine and platform-independent. Because it is open-source, there are a large number of libraries and data structures such as lists, numbers, and dictionaries available. Being a high-level language, it eliminates the need for programmers to be concerned about low-level code. "
10.
How does the native language C or C++ understand data types in JAVA?
This is another technical question the interviewer will use to confirm your qualifications for the App Developer position. Your background should enable you to easily answer this question. It is also an indicator of what programming languages the company uses, so you should expect additional questions about this topic. Your answer should be direct and succinct. Don't be concerned with saying too little. The interviewer will ask a follow-up question if they need more information.

William's Answer #1
"Native languages such as C or C++ interfaces with Java code via the Java native interface, or JNI. This framework enables application developers to write native code if necessary, such as when components of the application can't be written using Java. JNI is part of the Java Development Kit, or JDK, and assists the developer with interfacing with any native code."
William's Answer #2
"Developers who use Java can interface with any native code, including C or C++ through the Java Native Interface or JNI. This component of the Java Tool Kit provides the programmer with tools and library routines that can be used to develop portions of the application which either need to interface with native code or can't be written in Java. Developers can also use JNI to modify existing applications that were originally written in native code."
11.
Our organization recently began incorporating HTML5 into our applications. Can you describe some of the input types that are new to HTML5?
This is another Technical question which is meant to determine your expertise in a specific area of application development. As with other technical questions, the best approach to answering this is straightforward and succinctly. If you don't have experience in this area, state this, followed by your willingness and ability to learn about it quickly.

William's Answer #1
"HTML5 is a robust programming language and I can understand why you use it. As with most development tools, the language is continually being updated and improved. Some of the most recent additions to HTML5 include input types. These are color, date, datetime-local, range, number, tel, time, url, week and month."
William's Answer #2
"I'll be honest with you, my experience with HTML5 is limited. I have only recently begun working with this programming language and am still learning its features. I can assure you that as with PHP, Ruby, Python, Javascript and the other languages I am proficient in, I will be able to develop my expertise in HTML5 quickly and be adept at using it by the time I join your organization." I will also be able to utilize the many resources available on the web to supplement my knowledge until I come up to speed with this language."
12.
How do you go about explaining complex technical issues to non-technical stakeholders during an application development project?
Application development doesn't occur in a vacuum. Typically there are multiple stakeholders to any development project, many of whom may not have a technical background. The interviewer wants to make sure you are able to communicate with non-technical individuals in an effective manner. A good answer to this type of question is to demonstrate your understanding of the need to communicate effectively, stating your approach to this.

William's Answer #1
"Every application development project has multiple stakeholders outside of the development team. I understand that they aren't interested in the bits and bytes of how an application is developed, but rather on the business-related issues such as time, resources and the targeted outcomes. Therefore, when meeting with these stakeholders, I focus on these issues. When I need to share technical details of the project with them, I do it at a high level, without using acronyms or jargon. I then follow their lead if they ask specific questions or need additional information, again using language I'm sure they understand."
William's Answer #2
"One of the key elements of an application development project ins keeping all of the project stakeholders informed. This typically occurs via emails and at regular project status meetings. When working with project participants from outside of the technical organization, I am careful to speak in clear, easy to understand terms without using acronyms or technical jargon, unless I'm sure the audience will understand them. I focus on the business factors of the project and only dig into the technical aspects if asked to."
13.
Can you tell me about a recent project you worked on, sharing with me your process for developing applications?
An interviewer is likely to ask you this question early in the interview to learn more about your work style, thought process and organization skills. Your answer will reveal this information and disclose how you handle any disruptions in the application development process. Your answer should be well organized, taking the interviewer through the steps in a logical fashion and touch on how you interact with other stakeholders of the project.

William's Answer #1
"I use a common approach to any application development project. First I work with the project stakeholders to define the requirements and scope of the project. Included in this discussion are the budget, timeline, and resources. I then put together a project plan, dividing it into steps with specific benchmarks. Next, my team and I begin developing the application, using common programming languages and tools and following the Agile and Scrum methodologies. Once the application is completed, we beta test it and debug the code. Finally, we meet with the stakeholders again to demonstrate the application and get their feedback. Final modifications are made and the application is released for commercial sale or internal use. Periodically, we review the app and make any modifications or updates to maintain its functionality and improve its features."
William's Answer #2
"The key to a successful application development project is organization and stakeholder engagement. This begins with clearly identifying the desired outcome for the project, including the exact functions and features the application should have. I then create a project plan and get everyone's buy-in. Next, I begin coding, using the Agile/Scrum methodology, reviewing iterations of the app in phases to identify any issues early before they compound. Once the application is completed, I demonstrate it to the stakeholders and collect their feedback. I then update the app, incorporating their input. This process is repeated until I get final approval to release the app to production or for commercial use."
14.
How do you define Application Software?
This is a general opening question, which is usually asked early in the interview. The interviewer will ask this to start the interview and develop a dialog with you. They also use the question to confirm your understanding of applications so they can follow up by asking questions about the application development process. Your answer to this question will establish the direction in which the interview proceeds, so you can use this to guide the interviewer into areas you are knowledgeable about and confident with.

William's Answer #1
"Application software or apps are programs that perform specific tasks and help people accomplish something. They include general apps such as word processors, spreadsheets, and games, as well as specific apps including accounting software, educational programs, and business-specific applications."
William's Answer #2
"Application software are tools that are used for specific purposes or to perform a job or task. They can help with business processes, assist with multimedia projects, or support personal activities. Applications, or apps, can be purchased from the vendors, used via the web on a subscription basis, or shared between users as freeware. Most are proprietary, but there are a growing number of open-sourced applications available online for no charge."
15.
What do you feel is the most important skill an application developer should possess?
An interviewer will ask this type of qualifying question to gain some insight into your skillset and your ability to be introspective. This helps them determine if you are qualified for the job and if you will fit into the culture of the organization. This is a relatively easy question to answer because they have already indicated what skills are important to them in the job posting. Another reason is that your skills are listed in your resume so they already have some idea about these. The best answer is to state the skills which are in both the job posting and your resume and to provide the reason why these are important.

William's Answer #1
"The most important skill an application developer can possess is adaptability. Application development is a dynamic profession that changes quickly. New tools and technologies are constantly being developed and methodologies evolve quickly. In addition to this, the design criteria and requirements for applications can change during the development process. Developers need to be flexible and able to adapt to all these changes as part of their daily jobs and responsibilities. "
William's Answer #2
"In my opinion, the key skill an Application Developer should possess is attention to detail. Writing code is an exact science and any deviation from the protocols will result in errors and faulty applications. While the development tools available and the automation employed in contemporary application development are helpful and can mitigate most errors, they can also make developers complacent. Focus, organization and laser-like attention to each and every detail of an application development project will result in better quality applications, more efficient code and a shorter development cycle."
More Interview Q&As
Explore expert tips and resources to be more confident in your next interview.
Behavioral
Common
Phone
Tough
Leadership
All Interview Topics
All Career Q&As
21 Application Developer Interview Questions
Win your next job by practicing from our question bank. We have thousands of questions and answers created by interview experts.
Interview Questions
  1. When you described Python, you mentioned dictionaries. I'm not familiar with that term. Can you elaborate on this?
  2. Please explain how you would perform a load test.
  3. What is the importance of the User Interface when developing applications?
  4. What are the key steps when migrating an application from one platform to another?
  5. What are you doing to keep current in technology?
  6. What are Verification and Validation, and how do they differ?
  7. What is the difference between Quality Assurance and Quality Control in software testing?
  8. Can you describe Python and some of its features?
  9. How does the native language C or C++ understand data types in JAVA?
  10. Our organization recently began incorporating HTML5 into our applications. Can you describe some of the input types that are new to HTML5?
  11. How do you go about explaining complex technical issues to non-technical stakeholders during an application development project?
  12. Can you tell me about a recent project you worked on, sharing with me your process for developing applications?
  13. How do you define Application Software?
  14. What do you feel is the most important skill an application developer should possess?
  15. Have you ever worked on a applicaiton development project that used both an onshore and an offshore team? If so, what were some of the challenges you encountered?
  16. Tell me about the development methodology you employ when creating applications.
  17. Our organization develops applications exclusively for mobile platforms, including both iOS and Android. What is your expertise in this area?
  18. Which programming languages are you mostly familiar with?
  19. Please desribe how you develop learning aids for the applications you develop?
  20. How do applications interact with system software?
Disclaimer
Our interview questions and answers are created by experienced recruiters and interviewers. These questions and answers do not represent any organization, school, or company on our site. Interview questions and answer examples and any other content may be used else where on the site. We do not claim our questions will be asked in any interview you may have. Our goal is to create interview questions and answers that will best prepare you for your interview, and that means we do not want you to memorize our answers. You must create your own answers, and be prepared for any interview question in any interview.
Learn more about what we believe >
Read our Terms of Use for more information >