Technical Interview Study Guide

An overview of the responsibilities of different web engineering roles. Intended as a study guide for tehcnical interviews.
Alternatives To Technical Interview Study Guide
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Reverse Interview25,553
3 months ago26other
Questions to ask the company during your interview
Trading Interview Questions192
4 months agoJavaScript
Guide on how to prepare for quant trading roles out of college
Company Questions11
8 years ago
Technical Interview Study Guide9
8 years ago
An overview of the responsibilities of different web engineering roles. Intended as a study guide for tehcnical interviews.
2 years ago1otherPython
Interview Questions
Ciso Interview Questions7
2 years agocc0-1.0
Questions to ask about the team and company when you're interviewing for a CISO position
Structured Interviews5
5 years agoJavaScript
Templates for structured interviews
9 years agoJavaScript
WebRTC based video interview practice.
Tex Resume3
3 months agomitTeX
Compilation and source of a XeLaTeX implementation of my CV. The CV is built according to the currently considered best practices by the majority of US companies for Software Development roles.
Devrel Interviews3
3 years agounlicense
Reverse Interview Questions for Developer Advocate/Technical Evangelist roles
Alternatives To Technical Interview Study Guide
Select To Compare

Alternative Project Comparisons

WARNING, this repo has been deprecated.

Updates to this study guide are being made at it's new location: Several forks of this markdown file have already been made so we're leaving this repository here for posterity. However, if you have suggestions or edits please make them at the updated location in the outcomes-curriculum.

Interview Study Guide

Things That are Always Good:

Web Engineering Roles all require composing smaller programs into larger programs using:

  1. Programming Fundamentals (objects, arrays, if/for/while JavaScript / Ruby)
  2. HTML & CSS
  3. Data structures (Object Oriented, hashmap, linked list, graph, tree ...),
  4. Data processing (businuess logic , algorithms ... )
  5. Practice these by writing short programs like warmups and codewars -- these are common in interviews.

Common titles are front end / client side engineer, back end / server side engineer, or full stack engineer which is a blend of both. Different businesses have different neads, so roles will focus on different technologies and techniques.

Back End Posititons:

Back end positions are focused on the operation of webservers. Back end technologies involve more machine to machine communication than human interaction. Perfect webservers would run constantly, never turning off. All webservers will use some of these technologoies and techniques:

  1. Web Servers * MVC design pattern, using * A Server Framework (Express.js, Rails, ...) * An HTML templating language (ejs, Jade, Haml, ...) * The delivery of JS, CSS, HTML assets to the client * Build Tools (Gulp, Grunt, npm, linux/command prompt)

  2. Database connections and data modeling, * A SQL langauge (postgres, MySQL ...), * Non-relational datastores (Mongo, redis ...) * ORM / ODBM (Knex, Mongoose, Active Record ... )

  3. Business logic both in both the client and server. * Authentication flows (Passport, OAuth), * Object Oriented Programming (inheretence with class / prototype), * Data Modeling (data structures, hashmap / hashtable, linked list), * Data processing (HTTP routing, Controller in MVC, algorithms)

Front End positions:

Front end positions are focused on writing code that runs in a web browser like Chrome, FireFox, or heaven forbid IE8. Front end positions tend towards creating interfaces that humans use then interpreting that input for the computer. All front end positions will use some of these technologies and techniques:

  1. Creating and fine tuning user interfaces in the browser, * HTML and CSS manipulation with JavaScript (selectors, event bindings), * Through the use of a front-end framework / library (Angular, JQuery ...), * User experience and design -- or executing the designs of others (A / B testing),

  2. Communication with web servers and APIs over HTTP * REST pattern (HTTP methods and routing, data modeling), * Browser requests (HTTP methods and routing, HTML forms, AJAX), * Asset delivery (HTML especially <head>, <script>, <style>), * User Input (<form>, <input>, event bindings, selectors), * Through the use of a frontend framework or library (Angular, JQuery ...)

If you want to go Full Stack

Then you'll be responsible for some blending of both the front and back end. You'll have to be a jack of all trades; a flexible generalist.

Popular Interview Projects
Popular Role Projects
Popular Learning Resources Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.