Giter Club home page Giter Club logo

interview-questions's Introduction

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

interview-questions's People

Contributors

tarikguney avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.