> masteringswe_

Medical Doctors mastered knowledge retention.Software Engineers should too.

Eradicate your knowledge bottleneck. Break into the promised land.

  • Java

  • React JS

  • System Design

  • Coding Assessments

Study in a format that makes you recall knowledge.

Whether you need to explain JWT authentication or implement a priority queue in an online assessment, forgetting means failing, and that costs you hundreds of thousands of dollars. Every knowledge module makes you recall so you don't forget.

conceptual

JWT as authentication strategy

What is a JWT and how does JWT authentication work? How does the client send the token to the server? What is asymmetric versus symmetric JWTs and what is a common algorithm for both? How can you revoke a JWT? When a JWT expires, how can a client get a new one?

Reveal answer

The exact knowledge you need, all in one place.

Hundreds of knowledge cards that will make an interviewer think you're a different species, organized by the exact topics needed to smash the Full Stack Engineer interview. Cards are constantly added - we're growing fast.

158modules in this deck

  • Cons of constants in a project-wide class
  • Best practices for organizing class constants
  • Method binding
  • Compilation 16
  • Compilation 17
  • Compilation 18
  • Compilation 19
  • Method overloading
  • Method signature
  • Generic type
  • Bound vs unbound type parameter
  • Type erasure
  • Bridge method
  • Reifiable vs non-reifiable
  • Instanceof check
  • Polymorphism
  • Compilation 29
  • Interface
  • Code 31
  • Default method in an interface
  • Classes and multiple inheritance
  • Abstract class
  • Keyword for a parent class
  • Code 36
  • Compilation 37
  • Implicit insert in every constructor
  • Calling another constructor in the same class
  • Compilation 41
  • Compilation 42
  • Compilation 43
  • Compilation 44
  • @Override
  • Criteria for successful method overriding
  • Compilation 47
  • Compilation 48
  • Compilation 49
  • Methods binding calls
  • Effective signature 51
  • Effective signature 52
  • Compilation 53
  • Number of varargs params for a method
  • Vararg param ordering
  • Heap pollution
  • Compilation 58
  • Compilation 59
  • Intrinsic / monitor lock
  • Synchronized keyword
  • Synchronized non-static method on two instance objects
  • Synchronized static method on two instance objects
  • Monitor object acquired for instance vs static synchronized methods
  • Monitor object
  • Argument passed into a synchronized block
  • Interleave access to two different fields using synchronization
  • Reentrant synchronization
  • Time slicing
  • Processes
  • Threads
  • Atomicity of count++
  • Liveness
  • Local variables and reference storage
  • Object storage
  • Update / memory visibility
  • Volatile
  • CPU / instruction reordering in Java
  • Happens-before guarantee of volatile
  • Visibility guarantee of a synchronized block
  • Happens-before guarantee of synchronized block
  • Piggybacking with synchronization
  • Compilation 87
  • Static class in java
  • Code 89
  • Code 90
  • Enum constructor
  • Final fields
  • Initialization of static fields thread safety
  • Access modifiers
  • Behavior of final methods
  • Static field
  • Output 104
  • Array vs ArrayList
  • Output 106
  • Output 107
  • Output 108
  • Reference variable vs primitive
  • String reference or primitive
  • Output 112
  • == vs .equals
  • Code 114
  • Make non-static inner class access outer field
  • Variable shadowing
  • Output 119
  • Abstract class on implementing interface methods
  • Compilation 122
  • Early / static binding
  • Output 124
  • Late/dynamic binding
  • Double dispatch
  • Parallelism versus concurrency
  • Visibility guarantee of volatile
  • Creating a thread in java
  • wait()
  • notify()
  • notifyAll()
  • Many threads calling wait on an object
  • Calling wait() or notify() on empty or constant string objects
  • Spurious wakeups
  • Blocking queue
  • Thread pool
  • What is ForkJoinPool
  • Implement ExecutorService for network IO bound work
  • When to use ExecutorService vs ForkJoinPool
  • Implement ForkJoinPool for CPU bound work
  • ExecutorService under the hood
  • Declarative versus imperative programming
  • Streams terminal vs intermediate
  • ForkJoinPool.commonPool()
  • parallelStream
  • Output 155
  • Output 157
  • Output 158
  • ForkJoinPool under the hood
  • Interface instantiation
  • Interface implicit definition
  • Interface fields implicit definition
  • Concrete sub-class implementing abstract interface methods
  • Concrete class implementing multiple interfaces
  • Interfaces on instance state or constructors
  • Interface methods that can have implementations
  • Abstract interface methods with method bodies
  • Abstract class instantiation
  • Concrete sub-class implementing abstract methods of abstract class
  • Abstract classes and defining concrete methods
  • Abstract classes defining instance fields and constructors
  • Methods that cannot be overridden
  • Difference between initialization and instantiation
  • Behavior of final classes
  • Behavior of final method parameters
  • Abstract classes and non-public abstract methods
  • Concrete classes and abstract methods
  • Awakened thread proceeding
  • ExecutorService
  • Streams stateful versus stateless operations
  • Stream reduce
  • Stream collect
  • Output 188
  • Create an optional with a value and without a value
  • Optional
  • Finally block
  • Future
  • CompletableFuture
  • Stream and parallelStream
  • Stream forEach
  • Stream flatMap
  • Stream filter
  • Stream map
  • Abstract class extending abstract class - who must implement what
  • ORM: Object-Relational Mapper
  • Checked vs Unchecked Exceptions
Card 1 of 4
codingjava

PriorityQueue - max-heap

Insert int value into heap so it behaves as a max-heap. What is the time complexity? Note: Java's idiomatic approach is a reversed comparator rather than Python's trick of negating values.

Reveal answer

Next review

  1. PriorityQueue - max-heap

    Waiting

  2. What is encapsulation

    Waiting

  3. heapq - pop

    Waiting

  4. Cons of constants in a project-wide class

    Waiting

Study with spaced repetition.

Active recall with spaced repetition is scientifically proven to be the best knowledge retention method. Doctors use it to pass medical school. Software Engineers should use it to pass interviews.

Just when you're about to forget, the algorithm makes you recall it again.

How much you remember over 40 days, reviewed against never reviewedRecalled on days 1, 4, 12, 32. Each recall restores it fully, and it fades more slowly after every one, while the same thing left alone is almost entirely forgotten within ten days.0%50%100%about to forgetday 14123240Review on day 1Review on day 4Review on day 12Review on day 32
Review days are the app's real schedule for a card you rate Good each time. The shape of the fade between them is illustrative.

The market craves the Full Stack skillset, especially in the age of AI.

Job postings keep asking for the same thing: backend experience in an object-oriented language and frontend expertise in a client-side framework. Learning the most in-demand skills makes you qualified for the largest set of jobs.

57%of developer job postings that name a language want an object-oriented backend language.

  • Python20%
  • Java17%
  • C#10%
  • PHP7%
  • Ruby3%
  • JavaScript / TypeScript30%
  • C / C++5%
  • Go2%

Source: DevJobsScanner, ~3M developer job postings in 2025.

54%of frontend job postings that name a client-side framework want React.

  • React54%
  • Angular36%
  • Vue8%
  • Other2%

Source: DevJobsScanner, ~156K frontend job postings in 2025.

93%of the 100 largest US companies use Java, and all use Python.

  • Java93%
  • Python100%

Source: Salt Technologies, Fortune 500 Tech Stack Directory 2026, top 100 companies.

Learning path

  1. 1

    Java

    158 cards

    Know the language a backend team will hand you.

  2. 2

    Object Oriented Design

    40 cards

    Model a system in classes the way interviewers expect.

  3. 3

    Java and Python for Assessments

    244 cards

    Write data structures from memory under a timer.

  4. 4

    System Design

    32 cards

    Talk through caches, queues and sharding without stalling.

An efficient, deterministic learning path.

We consolidated learning into an ordered path so you don't have to scour the internet and randomly hop between topics. Instead, go from 0 to employed without digging or guessing.

Software Engineering pays. A lot.

Breaking into the software development industry can be the difference between destitution and millions. Experience compounds, and so does the money you earn. That first job can mean everything.

Yearly pay for software engineers at a big tech company and across all US employers
LevelBig tech (Google)Typical US employer
Entry$198KL3$82Kbottom 10%
Mid$295KL4$136Kmedian
Senior$428KL5$215Ktop 10%
Staff$648KL6Not reported
First 10 years2 at L3, 3 at L4, 5 at L5$3.4M$1.6M

Sources: Levels.fyi, Google software engineer medians (US), Sept 2026; US Bureau of Labor Statistics, software developers, May 2025.

A community with access to a real mentor.

Get direct access to the founder, Raw SWE, a software engineer currently working in the industry, and previously at FAANG. Talk to him directly in our Discord community and during weekly group calls.

Group calls
Every Sunday
This time is yours, so bring any question you have.
Discord
Ask anytime
Message Raw SWE and other members between calls.

FAQ

Why pay for Mastering SWE when everything is available on the internet?

Everything is on the internet, scattered across docs, blog posts and videos of mixed quality. Finding the parts that come up in interviews takes weeks, and reading them once doesn’t mean you’ll remember them on the day.

Mastering SWE is the filtered version: the knowledge that matters, written as cards, in an order, with a schedule that keeps it in your head.

Does Raw SWE know what he’s talking about?

Raw SWE works as a software engineer in the industry today and previously worked at a FAANG company. The cards are what he studies himself, and he adds to them constantly.

Can I cancel anytime?

Yes. Cancel from your account page in a couple of clicks, and you keep access until the end of the period you paid for. The free cards you unlocked stay yours.

I thought I should seek understanding instead of memorizing information. Why is this platform centered around memory?

You need both. You should understand what you memorize, but raw recall is an equally important aspect of knowledge retention. For example, you can’t explain trade-offs between different authentication strategies if you don’t memorize JWT and session-based authentication AND also understanding why each strategy works. Just blindly memorizing words to repeat with no thought is not the goal of this product, and that will not work during interviews. This product functions to improve your memory component, while also helping you logically understand what you know and why it’s important.