PrepKitBeta
DSALLDSystem DesignLanguages
PrepKit

© 2026 PrepKit. All rights reserved.

Made with ❤︎ by Jasir

Programming Languages

Go beyond syntax to demonstrate true seniority. This guide covers the core concepts of programming languages that signal deep expertise in an interview.

Core Fundamentals

The non-negotiable basics of any language.

  • Variables, Data Types, and Type Systems
  • Operators
  • Control Flow
  • Functions & Methods
  • Pass-by-Value vs. Pass-by-Reference vs. Pass-by-Sharing
  • Memory Management (Stack & Heap)

Execution & Concurrency Models

How code turns into a running program and handles multiple tasks.

  • Compilation vs. Interpretation
  • Runtime Environments & Virtual Machines
  • Garbage Collection Mechanisms
  • Concurrency & Parallelism
  • The Memory Model

Programming Paradigms

The "big ideas" that shape how we structure code.

  • Procedural Programming
  • Object-Oriented Programming (OOP)
  • Functional Programming
  • Declarative vs. Imperative Programming

Type Systems Deep Dive

Advanced type system concepts that differentiate a proficient engineer.

  • Type Inference
  • Structural vs. Nominal Typing
  • Generics & Metaprogramming
  • Covariance & Contravariance

The Language Ecosystem & Tooling

The practical side of using a language in real-world projects.

  • Package Management
  • Build Systems & Task Runners
  • Testing Frameworks & Philosophies
  • Linters & Code Formatters

Language-Specific Deep Dives

Applying the concepts to popular languages, focusing on their unique features.

  • JavaScriptComing Soon
  • PythonComing Soon
  • Java
  • C++
  • GoComing Soon