Skip to content

Latest commit

 

History

History
179 lines (155 loc) · 5.33 KB

README.md

File metadata and controls

179 lines (155 loc) · 5.33 KB

Just bunch of things every dev should know.

Questions to ask

Generic programming thing

  1. S.O.L.I.D.
  1. DRY
  1. KISS
  • Keep it simple stupid
  1. YAGNI
  • You Aint Gonna Need It
  1. Law of Demeter
  1. Design patterns
  • singleton
  • composition
  • factory
  • facade
  • strategy
  • CQRS
  1. Dependency Injection
  2. IoC - Inversion of control
  3. Design by contract DbC
  4. Auth strategies
  • Oauth, Oauth2
  • Hawk
  • Api keys(private public)
  • JWT
  • others?
  1. Closures
  2. SOAP vs ↙️
  3. REST
  • methods
  • response codes
  • difference between PUT and PATCH
  • 4 levels of maturity
  • API versioning - ways to do it
  1. RESTful rules
  2. How mock works (do you know mockery)
  3. What are the rules of code review
  • tools like Crucible, etc.
  1. Active record, data mapper (useful in ORMs)
  2. OOP vs AOP
  3. reverse proxy
  4. amazon services (or other cloud) / GCP
  • SQS / DLQ
  • Cloudwatch
  • S3
  • Lambda functions
  • Docker deployment
  1. RabbitMQ and pub/sub concept
  2. Docker/ docker-compose
  • layers in container
  • multistage builds
  • CMD/Entrypoint
  • difference between image and container
  • shared volumes (example for database storage)
  1. continuous integration, for building, quality checks, and deployments
  • chef
  • jenkins
  • bamboo
  • CircleCI
  • Drone
  • github actions
  • other usefull tools like Round-robin
  1. How to check performance of the code.
  2. Quality checks/Linters?
  • SonarQube
  1. Abstraction vs Hermetizationdetails
  2. Event storming
  3. Immutable vs Mutable
  4. Imperative/Declarative/Functional
  5. TDD/BDD/DDD
  6. Version Control (GIT/SVN)

Security

Databases

  • indexes
  • ACID
  • Transactions
  • what are indexes
  • SQL/ NO-SQL differences
  • JOIN
  • multiple columns as primary key
  • Enums
  • relations 1...n etc
  • pessimistic/optimistic locking
    • The pessimistic locking model prevents simultaneous updates to records.
    • Optimistic locking is a technique for SQL database applications that does not hold row locks between selecting and updating or deleting a row. The application is written to optimistically assume that unlocked rows are unlikely to change before the update or delete operation.

JavaScript section

  1. Generators
  2. Streams
  3. Multithreading / worker threads
  4. ES6 + ES7 features
  5. typescript
  6. Multiple inheritance using mixins - ts-mixer
  7. for..in versus for..of
  8. Event Loop
  9. ESM features

for..in iterates over all enumerable property keys of an object for..of iterates over the values of an iterable object. Examples of iterable objects are arrays, strings, and NodeLists.

GOOD EXAMPLE is Set

let pets = new Set(["Cat", "Dog", "Hamster"]);
pets["species"] = "mammals";

for (let pet in pets) {
   console.log(pet); // "species"
}

for (let pet of pets) {
    console.log(pet); // "Cat", "Dog", "Hamster"
}
  1. Higher-Order Functions

In Javascript, functions can be assigned to variables in the same way that strings or arrays can. They can be passed into other functions as parameters or returned from them as well.

A “higher-order function” is a function that accepts functions as parameters and/or returns a function.

PHP section

  1. Frameworks/CMS
  • Symfony
  • Laravel
  • Drupal
  • Etc....
  1. Traits
  2. TDD, BDD
  • Simpletest
  • Unit-tests
  • PHPspec
  • Behat
  • Selenium 4What was introduced in php 5.6
  1. What was introduced in php 7 / 7.2
  2. Generators in php
  3. PHP - finally - does it always work?

Random questions that might come handy

Some php tricks

  • var_dump((bool) 1==2); what will return
  • && vs AND
  • foreach vs for

What actually I was asked:

  • what are the differences and similarities between thread and process
  • difference between queue(list) and Map
  • how does hash table work
  • name few sorting algorithms and which is faster
  • what happens when you send request from browser - open question
  • how does certificates for domains work + all about https (secure part)
  • how can you verify auth header on the server without asking resource server (hint signature, based on secret)