Skip to content

This repository contains various interview questions categorized within different levels.

Notifications You must be signed in to change notification settings

tarikguney/interview-questions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Interview questions

This repository contains questions about different aspects in programming and prblem solving skills that we check for during interviews in Motorola Solutions. The repository contains questions for various levels inlcuding junior, mid, and senior.

Problem Solving skills

The following areas can be checked for when assessing the candidate problem solving skills:

A thought process can follow one or more of the following steps:

  1. Conceptualizing the problem.
  2. Going reduction in the problem to start easy.
  3. Dividing and conquering the problem.
  4. Explaining the problem in an easy and confident way.
  5. Approaching the problem using brute force and improving it after.

Programming Concepts

Programming concepts are a broad area which may containa a wide range of paradigms, practices, concepts, and so on. It also depends on whether the programming language is functional, object oriented, procedural, declaritive, etc.

However, we will mostly use Object-Oriented programming languages, therefore, the practices will be from there.

Fundamental concepts in OOP

Fundamental concepts are what the design patterns and SOLID principles are built upon in OOP. They are:

  1. Composition
  2. Aggregation
  3. Inheritance
  4. Polymorphism

Using these concepts, we can implement other concepts in an object-oriented programming such as:

  1. Encapsulation
  2. Abstraction
  3. Single Responsibilty Principle
  4. Open/Closed Principle
  5. Liskov's Substituion Principle
  6. Interface Segregation Principle
  7. Dependency Injection Principle

The SOLID principles can be implemented using various Design Patterns. The SOLID principles define the goals, whereas, ta developer can use various design patterns to reach these goals.

Note: Many of these principles, concepts, and paradigms are language-agnostic, meaning that they can be used in almost any type of language as long as the language supports some of the vital constructs.

Overall Skills and Personality Traits

Problem Solving Skills Data Structure Algoritms Programming Concepts Personality
Conceptualizing the Problem Linked List Searching Algorithms Design Patterns Humble
Problem Reduction Queue Sorting Algorithms SOLID Principles Open for Criticism
Brute Forcing Stack Inheritance Eager to Learn
Array Abstraction & Encapsulation Friendly
Map Calm

Personality

As everyone usually agrees, the personality of a candidate is important factor to hire him. Some of the traits can be as follows (YourDictionary, n.d.):

  1. Being honest no matter what the consequences are is one personality trait people should aspire to.
  2. Having responsibility for all of your actions and being a little bit of a perfectionism are also personality traits.
  3. Adaptability and compatibility are great and can help you get along with others.
  4. Having the drive to keep going, and having compassion and understanding are positive personality traits.
  5. Patience is a virtue and also another trait.
  6. Getting up the courage to do what’s right in those tough situations and loyalty to your friends and loved ones are also personality traits.

Depending on the seniority level, what's being looked for can change. However, the personality is important in any case.

References

YourDictionary. (n.d.). Examples of personaliy traits. Retrieved from http://examples.yourdictionary.com/examples-of-personality-traits.html

About

This repository contains various interview questions categorized within different levels.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages