- S.O.L.I.D.
- DRY
- KISS
- Keep it simple stupid
- YAGNI
- You Aint Gonna Need It
- Law of Demeter
- singleton
- composition
- factory
- facade
- strategy
- CQRS
- Dependency Injection
- IoC - Inversion of control
- Design by contract DbC
- Auth strategies
- Oauth, Oauth2
- Hawk
- Api keys(private public)
- JWT
- others?
- Closures
- SOAP vs
↙️ - REST
- methods
- response codes
- difference between PUT and PATCH
- 4 levels of maturity
- API versioning - ways to do it
- RESTful rules
- How mock works (do you know mockery)
- What are the rules of code review
- tools like Crucible, etc.
- Active record, data mapper (useful in ORMs)
- OOP vs AOP
- reverse proxy
- amazon services (or other cloud) / GCP
- SQS / DLQ
- Cloudwatch
- S3
- Lambda functions
- Docker deployment
- RabbitMQ and pub/sub concept
- Docker/ docker-compose
- layers in container
- multistage builds
- CMD/Entrypoint
- difference between image and container
- shared volumes (example for database storage)
- continuous integration, for building, quality checks, and deployments
- chef
- jenkins
- bamboo
- CircleCI
- Drone
- github actions
- other usefull tools like Round-robin
- How to check performance of the code.
- Quality checks/Linters?
- SonarQube
- Abstraction vs Hermetizationdetails
- Event storming
- Immutable vs Mutable
- Imperative/Declarative/Functional
- TDD/BDD/DDD
- Version Control (GIT/SVN)
- 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.
- Generators
- Streams
- Multithreading / worker threads
- ES6 + ES7 features
- typescript
- Multiple inheritance using mixins - ts-mixer
for..in
versusfor..of
- Event Loop
- 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"
}
- 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.
- Frameworks/CMS
- Symfony
- Laravel
- Drupal
- Etc....
- Traits
- TDD, BDD
- Simpletest
- Unit-tests
- PHPspec
- Behat
- Selenium 4What was introduced in php 5.6
- What was introduced in php 7 / 7.2
- Generators in php
- PHP - finally - does it always work?
- https://www.toptal.com/drupal/interview-questions
- https://career.guru99.com/top-21-drupal-interview-questions/
- How drupal works /slightly outdated
- var_dump((bool) 1==2); what will return
- && vs AND
- foreach vs for
- 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)