/backend-interview-questions

This is a set of questions for Backend Developer applicants.

Backend Interview Questions

Basic Questions (Data Structures, Algorithms and General Programming)

  • Which data structures do you know?
  • A stack is a FIFO or a LIFO data structure?
  • Which sorting algorithms do you know?
  • Which search algorithms do you know?
  • Can you mention some of the benefits of using OOP?
  • Can you mention some othe programming paradigms that you know?
  • Do you know about the Big O Notation?
  • Which programming languages have you used and what's your favourite one?
  • Briefly describe your work environment for software development
  • What's the difference between a process and a thread?

Intermediate Questions (Design Patterns, Application Architecture and Databases)

Databases

  • Which SQL databases do you know?
  • What's the difference between them?
  • Do you know the difference between WHERE and HAVING clauses in SQL?
  • How would you solve the problem of a slow query in a SQL database?
  • Explain the difference between SQL and NoSQL
  • How would you store a stream of semi structured logs?
  • Which NoSQL databases do you know?
  • Can you mention some big data technologies?

Design Patterns and Architectural stuff

  • Have you heard about Design Patterns?
  • Which design patterns do you know?
  • Do yo know what does an ORM is?
  • Have you heard about Pub/Sub pattern?
  • Have you heard about SOA?
    • Tell me about MQ brokers
    • Tell me about ESB integrations
  • Have you heard about REST?
  • Can you mention some characteristics of RESTful architecture?
  • Can you mention some HTTP verbs?
  • Can you mention some HTTP status codes?
  • Have you used some other protocol for IPC? (JMS, gRPC, AMQP, ZeroMQ)
  • Have you heard about the API gateway pattern?
  • Have you heard about SSO? Which protocols or technologies do you know to fulfill it?
  • How would you scale a monolithic web app?

Advanced Questions(Networking, Cloud Computing and Security)

Networking

  • What's the difference between TCP and UDP protocols?
  • What are the 7 layers of the OSI model?
  • Can you mention some reserved network segments?
  • What are some advantages of CDNs? Or disadvantages?
  • What is a reverse proxy?
  • Have you heard the concept of DMZ?
  • What ports do this protocols use?
  • HTTP
  • HTTPS
  • SSH
  • DNS
  • FTP
  • Can you describe how does DHCP work?
  • Do you know about CORS?

Cloud Computing

  • Can you briefly describe IaaS, PaaS, SaaS and FaaS?
  • What's the difference between virtualization and containerization?
  • Have you heard about sharding in databases?
  • Can you describe HA?
  • Can you describe Elasticity?
  • What's network latency?
  • Have you heard about Object storage?
  • Have you heard about serverless architecture?
  • Have you heard about the 12 factor app?
  • Have you heard about auto scaling?
  • Do you know some cloud orchestration technology?

Security

  • Can you briefly describe a SQL injection attack?
  • What's a DoS?
  • What's a DDoS?
  • What's a firewall?
  • Can you describe phishing?
  • Can you describe Cross-Stie scripting?

Soft Skills

  • How would you motivate a development team that has been working on the same project during a year?
  • How would you mention a fatal technical mistake in a meeting with the person that made it?
  • Which word describe you better?
    • Politic
    • Conciliator
    • Leader
    • Follower

For a leader

  • How would you choose or propose a new technology to your team?
  • How would you handle the situation of not achieving the results when a deathline was defined?
  • How woud you explain agile methodologies to an old fashioned team?
  • How would you promote the use of a DevOps culture?

Agile

  • Which agile techniques do you know?
  • Tell me what you know about:
    • Scrum
    • XP
    • Kanban
    • Pair Programming

Frontend

HTML

  • What is the doctype?
  • Do you know what META tags are?
  • What's the difference between
    and tags?
  • Have you used some HTML framework like Velocity, Jinja, Pug/Jade?

CSS

  • What does it mean a z-index?
  • Can you describe block model?
  • What do you know about SASS?
  • What do you know about LESS?
  • Have you used CSS3 effects?

Javascript

  • What's the difference between == and ===?
  • What's a promise?
  • What's a callback?
  • Which improvements do you know for implementing ES6 over ES5?
  • Which data types can you store in a JSON document?
  • How do you manage dependencies in JS?
  • Do you know the term transpiler?
  • How do you prepare a web app ready for production?
  • Which JS frameworks do you know?
  • Have you heard about JSONP?

DevOps

  • How do you manage versioning in a software project?
  • Can you describe a tipical development workflow?
  • Do you know what does Continuous Integration mean?
  • Do you know what does Continuous Deployment mean?
  • What IaC tools do you know?
  • What tools do you know for monitoring?
  • What tools do you know for orchestration?
  • Mention some benefits from using IaC
  • Mention the difference between a VM and a container
  • Mention some tools for build automation

Best practices

  • How would you securely store an environment variable?

Core Tech Questions

  • Docker
  • Kubernetes
  • Ansible
  • Elasticsearch
  • AWS
  • Azure
  • Google Cloud
  • OpenStack
  • OpenShift
  • MongoDB