Development Flashcards

1
Q

What is CI

A

Continuous Integration

  • The practice of automating the integration of code changes from multiple contributors into a single software project
  • The CI process is comprised of automatic tools that assert the new code’s correctness before integration.
  • A source code version control system is the crux of the CI process. The version control system is also supplemented with other checks like automated code quality tests, syntax style review tools, and more.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is Docker

A

containerization platform which packages your application and all its dependencies together in the form of containers so as to ensure that your application works seamlessly in any environment be it development or test or production.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Difference between VM and container

A
  • Virtual machines are multiple guest operating systems based on hardware, which are emulated by a hypervisor.
  • Containers are an application level construct, and emulate multiple virtual environments which share a single kernel.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Name some Python based automation frameworks

A

Functional/Unit testing

  • PyTest: Open source and easy to learn
  • PyUnit (UnitTest): Comes with Python
  • Robot: Compatible across all platforms

Behavior Driven Testing

  • Behave: Behavior driven development.
  • Lettuce: Behavior driven development based on Cucumber and Python
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are programming paradigms

A

Programming paradigms are a way to classify programming languages based on their features. Languages can be classified into multiple paradigms.

  • Imperative: OO, procedural
  • Declarative: Functional, logic, mathematical
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is Test Driven Development

A

A software development process that relies on the repetition of a very short development cycle: requirements are turned into very specific test cases, then the code is improved so that the tests pass.

1) Add a test
2) Run test and see that it fails
3) Write the code
4) Run test again and see that it passes
5) Refactor code as necessary

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Difference between Javascript and NodeJS

A
  • Javascript: Programming Language

- Node.js: Interpreter for Javascript environment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is Node.js?

A
  • It is a lightweight framework used for creating server-side web applications
  • It is generally used for large-scale application development, especially for video streaming sites, single page application, and other web applications.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Difference between Node.js API functions

A
  • Asynchronous, non-blocking functions. They don’t wait for the server to respond to the request
  • Synchronous, blocking functions: Respond immediately with whatever data is available
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the package.json file?

A
  • In Node.js it is the heart of the entire application
  • It is basically the manifest file that contains the metadata of the project where we define the properties of a package.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Types of Security Architecture

A
  • Baked-In: Exists in the platform itself
  • Bolted-on: 3rd party security services added on
  • API: Application layer security
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

List configuration management tools

A
  • Ansible
  • Chef (Ruby)
  • Puppet (Ruby)
  • CFEngine
  • Salt (Python)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly