Skip to content

elmarzouki/software-engineer-interview-qa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

Software-Engineer-Interview-QA

A number of Software Engineer interview questions and answers

  1. General Questions
  2. Architecture
  3. Problem Solving
+ What is polymorphism?
+ What is encapsulation?
+ What is inversion of control?
+ Design principles:
    - Separation of concerns.
    - Single Responsibility principle.
    - Principle of Least Knowledge.
    - DRY: Don’t repeat yourself.
    - Minimize upfront design.
+ Drawbacks of not using `separation of concerns`.
+ Microservices is a variant of the service-oriented architecture (SOA).
+ What is SOLID Principles of Object Oriented and Agile Design?
    - Single responsibility principle.
    - Open/closed principle.
    - Liskov substitution principle.
    - Interface segregation principle.
    - Dependency inversion principle.
+ Design patterns. 
    - Creational: Builder, Object Pool, Factory Method, Signleton, Multiton, Prototype, Abstract Factory.
    - Structural: Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy.
    - Behavioral: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, 
                    Observer, State, Strategy.
+ 3-tier architecture?
    - Presentation tier.
    - Application tier.
    - Data tier.
+ 3-layer architecture?
    - DAO (Repository).
    - Business (Service) layer.
    - Controller).
+ What is REST?
+ Idempotent operation EX: The PUT and DELETE methods are referred to as idempotent, 
    meaning that the operation will produce the same result no matter how many times it is repeated.
+ nullipotent operation EX: GET method is a safe method (or nullipotent), 
    meaning that calling it produces no side-effects.
+ (medium) given a collection of numbers and a sum  , find a matching pair that is equal to the sum
    - assume the numbers is sorted
    - assume the numbers is not sorted 
    what is the best complexity you can come up with?
    can you do it in O(n^2) , O(nlog(n)) , O(n) , etc... ? where n is the length of the numbers

    example : [1 , 2 , 3 ,6]  , Sum = 10 , no matching pair
            : [1 , 2 , 4 , 4]  , Sum = 8 , matching pair = (4, 4)
            
+ (Easy) given a string  , find the first recurret charter in the string
    example : 'ABCDA' , answer = 'A'
            : 'ABCBDA' , answer = 'B'
            : 'ABC' , answer = NULL
    find the O(n) answer

About

Software Engineer interview questions and answers

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy