Skip to content

Latest commit

 

History

History
176 lines (127 loc) · 8.93 KB

mobile-interview-questions.md

File metadata and controls

176 lines (127 loc) · 8.93 KB

What we expect from you?

  • You worked as <team lead | senior | junior> for at least two years
  • You used Swift or Kotlin in at least one project for more than a year
  • You are experienced in agile software development
  • You are able to implement complex features on your own
  • You have a pet project like your own app in the AppStore or you are maintainer of an open source product
  • You know how to develop and distribute an open source framework
  • You actively push your limits in TDD and CI
  • You know how to work with fastlane and how to automate build processes using shell scripts
  • You developed at least one app that needs data persitence using data bases like CoreData, SQLite

What We Need From You In Advance?

  • CV
  • StackOverflow-, Github-, Xing-, LinkedIn-Account

Agenda

  • We provide information about <company>
  • We introduce ourselves
  • Applicant introduces himself and tells us why he applied at <company>
  • We ask questions to get to know the applicant
  • Applicant aks questions

Questions

Get to Know Questions

General

  • What do you already know about <company>
  • Why you want to leave your current job and home country?
  • What was the biggest challenge you have faced with at work and how you coped with that?
  • Today. In exactly one year. It is 12 pm. What are you doing?
  • What would your manager say about you and what your best friend?
  • In which role do you see yourself at <company>?
  • Why you changed your focus from <working_topic_I> to <working_topic_II>?
  • What are your goals when working for <company>?
  • What is your experience in agile software development?
  • Describe the purpose of the SCRUM meetings daily, review and retrospective!
  • What do you think is better? Deliver a project perfect but late or deliver it good and in time.
  • Why we should NOT hire you?

Adaptability

  • Did you ever had to adapt to the working style of a collegue to finish a project? How did you cope with that?
  • Have you ever been in a situation where you had to do something you never did before? How did you react and what did you learn?
  • Please describe a past work situation where you started to use a new technology or idea that totally diverged from your way of working so far.
  • Think about a time when you received a task apart from your main responsibilities, e.g. implementing this one feature in a different language. How did you tackle this problem?
  • Please tell us about the biggest change in you career you where faced with? How did you cope with the situation?

Company / Cultural Fit

  • What is necessary that you decide yourself for our company instead of another one?
  • Which 3 aspects are most important for you in a job.
  • What is the your most interesting characteristic we don't know from your CV already?
  • In which aspects your collegues assess you in a wrong way and why is that so?

Collaboration

  • Had you ever communication problems with a collegue that simply didn't understand your concern? What have you done about it?
  • Describe the best colleague/boss you worked together with. What did you like most on this person?
  • Please talk about a situation where you had to work together with a complicated colleague. How you dealt with that situation?
  • Tell us about your most pleasant experience at work and your contribution to it.
  • Describe a situation where your project goals changed dramatically! How you dealt with this situation?

Prioritization

  • Think about a time where you had to work on multiple projects in parallel. How did you plan your time? What was the result?
  • Describe a situation where you felt stressed and overwhelmed. What do you do in such a situation?
  • How do you decide how much time is needed for a user story?
  • Think about a project that you had to plan! How did you organize all the necessary tasks?
  • Describe a situation where you delegated an important task.

Development Potential

  • Which is your biggest carreer goal? Why?
  • When was the last time you requested feedback from your boss or a colleague? Why?
  • Did you have a situation where your boss was not available and a problem arised? How you coped with this? Whom did you ask for help?
  • Did you ever deepened your knowledge in a different area than the current requirements? Please tell me about your reasons for that!
  • What is needed that you leave your current position and start something new?

Leadership

  • Please tell us about the last work situation where something went wrong? Which role did you play and how the situation ended?
  • Please describe a situation where you had to convince somebody to view a task from your perspective! Which steps did you take and what was the result?
  • Describe a situation where you had the feeling that you've chosen the best for your team way to solve a problem? How did the other react?
  • What was the most difficult decision in your last six month?
  • Did you ever have to "sell" an idea to your team? How did you proceed and what was the result?

Technical Questions

General - Apps

  • [---] Which of your apps are avalable in the store? Did you develop them on your own?

  • [---] Which of your apps had the most users. How many?

  • [---] What was the most complex app you worked on and what was the main challenge?

  • [---] Which was the first <Android | iOS> version you worked with?

  • [---] How do you improve yourself in software development? [Conferences, Blogs, (WWDC-)Videos, Tutorials]

Open Source

  • [---] Which dependency managers / build systems do you know? [Gradle, Cocoapods, Carthage, SPM]
  • [---] Experience with open source frameworks?
  • [---] Which frameworks do you use mostly?
  • [---] Did you develop open source framerworks on your own?

UI

  • [---] What might be the reason when an app hangs on user input?
  • [---] What is important when conecting the networking layer of your app to the UI regarding multi threading?
  • [iOS] What is the "Visual Format Language"?
  • [iOS] How exactly is your workflow when creating a view controller? [-IB, +InCode]
  • [iOS] Did you ever create complex apps (>10 view controllers) withour interface builder?

Testing

  • [---] How do you ensure that your app always meets certain quality criteria?
  • [---] Please describe the meaning of TDD shortly!
  • [---] What is CI and in how many projects you used it for test automation?
  • [---] Which testing frameworks do you know and how do you use them? [Quick - BDD testing, Nimble - matcher, XCTest - Xcode native testing framework]
  • [---] What is the Test Pyramid?
  • [iOS] What are your options about automated UI-Tests with Xcode? [XCUITest]

Data Persistence

  • [---] Where do you store your sensitive authentication data?
  • [---] Did you work with data persistence?
  • [---] Which data storage mechanism did you use?
  • [---] What is the main challenges when updating the data model?
  • [iOS] In how many of your projects you used Core Data?
  • [iOS] Did you created a data model on your own?
  • [iOS] What is a mapping model and what do you use it for? [Tells CoreData how to map objects from the source model to the destination model. It is important when Core Data cannot perform a leightweight migration.]

Analysis

  • [iOS] What is instruments?
  • [iOS] State three things you can analyse with instruments!

Memory Management

  • [iOS] What is ARC and how it changed the development apps? What methods are obslete to implement?

  • [iOS] What is the AutoRealesePool for?

  • [iOS] What is the replacement for the AutoReleasePool in iOS5 with ARC? [@autorelease]

Programming Languages

  • [---] In how many projects you used <Swift | Kotlin>?
  • [---] Did you already migrated projects from <Obj-C | Java> to <Swift | Kotlin>? Wht was the greatest challenge?
  • [---] What's your favorite programming language?
  • [---] What's your favorite thing in that language?
  • [---] If you could change something in it, what would that be? What implications would this have?
  • [---] If you had to learn a new language, which one would it be, and why?

Whitelabelling

  • [---] What whitelabelling stands for?
  • [---] Imagine you have two customers. How to implement dedicated [wording, colors, assets, fonts, different server url's, ...]

Design Patterns

  • [---] What are design patterns?
  • [---] Which design patterns do you know?
  • [---] Describe the MVC-Pattern with the example of a download manager.

Links