Full Stack Interview Topics

Full Stack Interview Topics

by John Vincent

Posted on February 23, 2017

Let’s describe some of the potential fullstack interview topics.

Front End

Front-end Job Interview Questions

Front-End Interview Questions / Blog Series Part 1 of 4

Front-End Interview Questions / Blog Series Part 2 of 4

Front-End Interview Questions / Blog Series Part 3 of 4

Front-End Interview Questions / Blog Series Part 4 of 4

Full Stack

Full Stack Developer Interview Questions / Glassdoor

Full-stack Developer Interview Questions and Answers / GitHub


What is an isomorphic application?

In web development, an isomorphic application is one whose code can run both in the server and the client.

What are BEM, OOCSS and SMACSS

How to organize your CSS with OOCSS, BEM & SMACSS

BEM (Block, Element, Modifier)

The BEM approach ensures that everyone participating in the development of a website is working with the same codebase and using the same terminology

<ul class="menu">
  <li class="menu__item">...</li>
  <li class="menu__item_state_current">...</li>
  <li class="menu__item">...</li>

OOCSS (Object Oriented CSS)

…a CSS “object” is a repeating visual pattern, that can be abstracted into an independent snippet of HTML, CSS, and possibly JavaScript. That object can then be reused throughout a site.

<div class="item">
  <ul class="item-list">
    <li class="item-list--item">
      <h3 class="item-heading">...

SMACCS (Scalable And Modular Architecture For CSS)

…an attempt to document a consistent approach to site development when using CSS.

<div class=“container”>
  <div class=“container-header”>
    <div class=“container-header__title”>
      <h1 class=“container-header__title--home”>

What’s the difference between Unit Testing, TDD and BDD?

Unit Testing

A unit test focuses on a single “unit of code” – usually a function in an object or module.


TDD or Test-Driven Development is a process for when you write and run your tests. Following it makes it possible to have a very high test-coverage. Test-coverage refers to the percentage of your code that is tested automatically, so a higher number is better. TDD also reduces the likelihood of having bugs in your tests, which can otherwise be difficult to track down.

With TDD, you writ ethe test first and the minimum amount of code to pass the test, add new tests, add/refactor code, and repeat until complete.


With Behavior-Driven Development, you should not test implementation, but instead behavior.

suite('Counter', function() {
  test('tick increases count to 1', function() {
    var counter = new Counter();
    assert.equal(counter.count, 1);

The behavior is that the counter should increment by one on tick(), thus

describe('Counter', function() {
  it('should increase count by 1 after calling tick', function() {
    var counter = new Counter();
    var expectedCount = counter.count + 1;
    assert.equal(counter.count, expectedCount);

Using the tabindex attribute

The HTML tabindex attribute is used to manage keyboard focus.

Using the tabindex attribute