greenfox-final-exam

Final exam requirements

The student, on their own, is able to:

  • Follow indentation and coding styleguides in their code (https://github.com/airbnb/javascript)
  • Use and set up linters => npm init => npm install eslint --save-dev => eslint --init
  • Create variables, functions, objects in JavaScript based on a given specification
  • Use conditions and loops:
    • Filtering
    • Finding elements or index
    • Generating collections
    • Counting items in an object
  • Determine the output of a logical expression
  • Determine the output of an immediately invoked function expression
  • Use higher order functions
  • Explain their own code
  • Initialize a node package
  • Install packages via a package manager
  • Write unit tests for functions and methods without mocking dependencies
  • Include and call 3rd party libraries in their code
  • Use frameworks and know its components and processes => angularJS
  • Use async structures:
  • Use git:
    • Commit, add, push, pull
    • Resolving a simple merge conflict
    • Creating a pull request
  • Use the command line:
    • Traversing directories
    • Moving, copying, creating, deleting files
    • Passing command line arguments to commands
  • Use databases:
  • Write backend code:
    • Implement an HTTP endpoint
    • Set headers on HTTP responses
  • Explain REST concepts (GET, POST, UPDATE, DELETE, OPTIONS)
  • Write frontend code:
    • Create layout in CSS and HTML based on a given specification
    • Select any HTML element using CSS selectors
    • Handle events
    • Dynamically create elements
    • Change attributes and properties on HTML elements using JavaScript
    • Initiate HTTP requests
  • Use build tools => WebPack => npm install -dev => webpack.config.js
  • Deploy application to hosting service => heroku, gomix
  • Differentiate between backend and frontend functionality
  • Refactor code:
    • Create meaningful names for functions and variables
    • Split bigger functions to smaller ones
    • Separate functions to different files
    • Point out code smells
  • Name 3 design patterns => Module Pattern, Revealing Module Pattern,
  • Understand how the internet works
    • Name the parts of an URL
    • Name a few protocols/technologies in connection with network communication