Technical Test: Difference between revisions

From pega.life
Jump to navigation Jump to search
Line 1: Line 1:
==Technical Test==
==Technical Test==


====REST vs GraphQL====
No more Over- and Underfetching. In GraphQL, you specify exactly what you need. REST, requires multiple requests and API reflects UI. When UI changes, over/under fetching the API occurs.


====What is CI/CD?====
====What is CI/CD?====

Revision as of 01:27, 18 April 2022

Technical Test

REST vs GraphQL

No more Over- and Underfetching. In GraphQL, you specify exactly what you need. REST, requires multiple requests and API reflects UI. When UI changes, over/under fetching the API occurs.

What is CI/CD?

CICD is the combined practices of continuous integration and continuous delivery or continuous deployment. CI/CD bridges the gaps between development and operation activities and teams by enforcing automation in building, testing and deployment of applications.

What is a dependency injection?

DI is a pattern where, instead of creating or requiring dependencies directly inside a module, we pass them as parameters or reference.

MEAN Stack

MEAN (MongoDB, Express.js, AngularJS (or Angular), and Node.js)

Box Model

The CSS box model is essentially a box that wraps around every HTML element. It consists of: margins, borders, padding, and the actual content.

Types of Tests

  • Unit Tests - small. quick. Jest/NUnit/PHPUnit
  • Integration Tests - connect components to see how they work together. Slower to write/run.
  • Automation Tests - UI test/end-to-end tests. simulate user behavior. Nightmare (https://github.com/segmentio/nightmare).

TDD/Unit Tests/FIRST

FIRST properties of Unit Tests. http://agileinaflash.blogspot.com/2009/02/red-green-refactor.html

  • Fast: unit test must be fast - A software project will eventually have tens of thousands of unit tests, and team members need to run them all every minute or so without guilt.
  • Isolated: Tests isolate failures. A good unit test has a laser-tight focus on a single effect or decision. Good tests interferes with no other tests in any way. They impose their initial state without aid from other tests. They clean up after themselves.
  • Repeatable: Tests must be able to be run repeatedly without intervention.
  • Self-validating: Tests are pass-fail.
  • Timely: Tests are written at the right time, immediately before the code that makes the tests pass.

TDD: Red/Green/Refactor

http://agileinaflash.blogspot.com/2009/02/red-green-refactor.html

  • Red: Failed test
  • Green: Passed test
  • Refactor: Clean up. Remove code. make into smaller units. performance.