Recognition Without Recall
Tejas GK| (11d ago)
There’s this weird thing that happens when I’m learning.
I’ll read something and go:
yeah yeah, I know this.
Then someone asks me to explain it without looking.
...
Nothing.
Brain empty.
Or I’ll see a DSA solution and immediately think:
ohhh obviously, two pointers.
Then the next day I get a slightly different problem and somehow I don’t know what to do.
That difference is basically:
recognition vs recall.
And I think I used to confuse them all the time.
Recognition feels like knowing
Recognition is when you see something and it feels familiar.
You see:
const map = new Map()
and go:
yep, hashmap. I know this.
You see a diagram of TCP.
yeah yeah SYN, SYN-ACK, ACK.
You read an explanation of binary search.
obvious.
You watch someone explain closures.
makes sense.
That feeling is dangerous because it feels almost identical to actually knowing the thing.
But usually the information is already in front of you.
Your brain only has to say:
I’ve seen this before.
That’s much easier than generating it yourself.
Recall is where the truth comes out
Recall is different.
Close the tab.
Close ChatGPT.
Close the notes.
Now explain:
What is a hashmap?
How does binary search work?
Why does TCP need a handshake?
What’s a closure?
How would you solve this problem?
Now your brain has to retrieve the information itself.
And suddenly the thing you “knew” five minutes ago becomes:
uhhh so basically...
😭
That gap is really important.
This is why tutorials can make you feel smarter than you are
Watching someone solve something is incredibly comfortable.
The person explains step 1.
Makes sense.
Step 2.
Makes sense.
Step 3.
Makes sense.
By the end you’re thinking:
yeah I would’ve done that.
No you wouldn’t 😭
They did it.
You followed it.
Those are different skills.
It’s like sitting in the passenger seat while someone drives somewhere.
You recognize every road.
Then one day they give you the car and say:
okay, take us there.
Suddenly every road looks different.
Coding is especially bad for this
This happens to me constantly.
I’ll look at code and understand every line.
That creates this feeling that I understand the whole concept.
Then I try to recreate it from scratch.
And now I’m staring at:
function something() {
}
for ten minutes.
Understanding code once it exists is not the same as being able to produce the code.
That’s why copying examples gives such fake confidence.
You’re exercising recognition.
Interviews require recall.
Real work often requires recall + reasoning.
Huge difference.
DSA exposed this for me really badly
This is probably where I noticed it most.
Take sliding window.
I see:
for (let right = 0; right < arr.length; right++) {
sum += arr[right]
while (sum >= target) {
// ...
sum -= arr[left]
left++
}
}
And I’m like:
oh yeah, sliding window. Easy.
Then give me a new question.
I’m immediately asking:
- when do I move left?
- when do I move right?
- what do I store?
- fixed window or variable?
- why is this even sliding window?
So clearly I didn’t really know the pattern.
I recognized the pattern after somebody else revealed it.
That’s much easier than identifying it yourself.
Interviews are basically recall stress tests
This is why something can feel easy at home and impossible in an interview.
At home you have:
Google.
ChatGPT.
Your notes.
IDE autocomplete.
Previous code.
Documentation.
All of those are recognition aids.
Then interviewer asks:
How would you invalidate JWTs after a password change?
And now there’s nothing in front of you.
Your brain has to retrieve the idea.
If your knowledge mostly exists as:
“I know it when I see it”
you’re fucked.
This also explains that horrible feeling where the interviewer gives the answer later and you're like:
BRO I KNEW THAT.
You probably did.
Recognition proves that.
But you couldn't recall it when it mattered.
And practically, that distinction matters more.
This happens outside programming too
Languages are a perfect example.
I might hear a Japanese sentence and understand it.
Great.
Then someone asks me to say the same thing myself.
...
Suddenly I’ve never learned Japanese in my life.
😭
That's recognition vs production again.
Same with names.
You see someone's face:
I KNOW THIS PERSON.
What's their name?
No fucking idea.
Then someone says:
Rahul?
YES.
That's recognition.
The memory was somewhere in there.
You just couldn't retrieve it without a cue.
Recognition isn't useless
I don't want to make it sound bad.
Recognition is part of learning.
Before something becomes easily recallable, it often becomes familiar first.
That’s normal.
The problem is mistaking familiarity for mastery.
That’s where I think I went wrong.
I’d read something until it felt obvious.
Then stop.
But of course it feels obvious.
The answer is literally sitting in front of me.
The real test should've been:
Can I explain it after I close this?
The easiest way to test yourself is stupidly simple
Learn something.
Then remove the source.
And try to reproduce it.
That's basically it.
Read how Redis caching works.
Close the page.
Explain it out loud.
Learn binary search.
Close the solution.
Write it yourself.
Watch a system design explanation.
Close the video.
Draw the architecture from memory.
Learn ten Japanese words.
Hide the answers.
Translate English → Japanese.
This feels harder.
Which is exactly why it works better.
Difficulty is actually useful here
This was counterintuitive to me.
When studying feels smooth, I naturally assume:
I'm learning well.
But sometimes smooth studying is just easy recognition.
Reading your notes for the fourth time feels great.
You understand everything.
Your confidence goes up.
Then tomorrow half of it is gone.
Trying to recall without looking feels worse.
You hesitate.
You make mistakes.
You feel dumb.
But that struggle is actually showing you where the memory is weak.
That's valuable information.
Blank-page testing is brutal
One thing I like now is just starting with a blank page.
Suppose I learned about Kafka.
Instead of rereading my notes, write:
Explain Kafka from scratch.
Then try.
Producer.
Broker.
Topic.
Partition.
Consumer group.
Offsets.
Replication.
Whatever I can remember.
Then compare it to the source.
Anything missing becomes obvious immediately.
No illusion.
No:
yeah yeah I knew that.
Either it came out of my brain or it didn't.
Explain it like you're teaching someone
This also works ridiculously well.
If I can say:
A hashmap stores key-value pairs and uses a hash function to figure out where a key should go...
and then continue explaining collisions, average complexity, resizing etc...
Okay.
I probably understand it decently.
If my explanation becomes:
So basically hashmap is like... you know... map... and hashing...
Then maybe I don't know it as well as I thought 😭
Teaching exposes fuzzy knowledge incredibly quickly.
There's another level: recall isn't enough either
This is where it gets interesting.
Suppose I memorize the exact binary search code.
I can write it perfectly from memory.
Great.
Then interviewer asks me:
Find the first value greater than or equal to X.
And I break.
Now the problem isn't recall.
I recalled the algorithm.
I just can't adapt it.
So I think knowledge has something like levels:
Recognition → Recall → Understanding → Application → Adaptation
Recognition:
"I've seen this."
Recall:
"I can reproduce this."
Understanding:
"I know why this works."
Application:
"I know when to use it."
Adaptation:
"I can modify it for a problem I've never seen before."
That last one is where real competence starts feeling powerful.
AI makes this problem worse
This is something I've been thinking about a lot.
AI can make learning insanely fast.
Ask question.
Instant explanation.
Ask for example.
Instant example.
Ask for simpler version.
Done.
That's amazing.
But it can also create the greatest recognition machine ever built.
You ask ChatGPT to solve something.
Read solution.
Ohhhhhh.
Makes perfect sense.
Next question.
Repeat.
After three hours, you feel like you learned 20 concepts.
Did you?
Or did you recognize 20 good explanations?
That's the danger.
AI removed friction.
Sometimes the friction was where the learning happened.
I don't think the answer is to stop using AI
Definitely not.
That would be stupid.
I want the explanation instantly.
I want examples.
I want feedback.
I want someone available when I'm stuck.
But I think the workflow should be different.
Instead of:
question → AI answer → understand → next
Do:
question → struggle → answer → understand → close answer → reproduce → modify
Now AI becomes a teacher instead of a crutch.
That's much better.
Same with Google
Before AI, we already had this problem.
Developers joke about googling everything.
And honestly that's fine.
Nobody needs to memorize every API.
But there's a difference between forgetting the exact syntax of:
Array.from(...)
and forgetting the fundamental concept you're supposedly skilled at.
External memory is useful.
But your brain still needs a model of how things work.
Otherwise you don't even know what to search for.
Recognition makes confidence rise faster than skill
This is probably the main reason I wanted to write this.
You can consume information extremely quickly.
And because everything feels familiar, your confidence grows.
But your actual ability may be growing much slower.
Then reality tests you.
Exam.
Interview.
Conversation.
Real problem.
And the gap gets exposed.
That's why sometimes I think:
I studied this. Why the fuck can't I answer it?
Because "studied" isn't one thing.
Maybe I mostly read it.
Maybe I watched someone else do it.
Maybe I understood it while the structure was already provided.
That's not the same as retrieving and constructing it myself.
A good learning session should probably include forgetting
Sounds weird.
But if I learn something and immediately test myself, the memory is still fresh.
Of course I can recall it.
The more interesting test is later.
Tomorrow.
Three days later.
Next week.
Can I still retrieve it?
That's where spaced repetition makes sense.
You let the memory weaken slightly.
Then force your brain to retrieve it again.
Each successful retrieval strengthens access.
Basically:
don't just put information into your brain. Practice getting it back out.
This changes how I think about notes too
I used to think good notes meant writing down everything clearly.
Now I'm less sure.
If my notes contain every answer perfectly, they're great for reference.
But maybe not always great for testing.
Questions might be more useful.
Instead of:
Redis is an in-memory data store commonly used for caching...
Write:
Why is Redis fast?
When would I use Redis?
What happens if Redis crashes?
Cache-aside vs write-through?
Now the notes force me to generate the explanation.
That's way more active.
The best feeling is when recall becomes automatic
Eventually something changes.
Someone asks:
What's optimistic locking?
And you don't search your memory painfully anymore.
The explanation just appears.
You've retrieved it enough times.
Used it enough times.
Seen enough examples.
Now the knowledge feels like yours.
That's a completely different feeling from:
I remember watching a video about this.
And even then, you can still forget
Obviously.
Brains are not databases.
If I don't touch something for two years, parts of it will disappear.
That's fine.
The point isn't permanent perfect memory.
The point is building enough understanding that relearning becomes fast.
There's a massive difference between:
I forgot the exact details
and
I never properly understood it in the first place.
So now I have a very simple test
Whenever I catch myself saying:
"Yeah, I know this."
I want to ask:
Okay. Without looking, explain it.
If I can?
Good.
Then:
Why does it work?
Then:
When would you use it?
Then:
What changes if I modify the problem?
That's a much harsher definition of "knowing."
But probably a more useful one.
Recognition isn't knowledge. It's a clue.
That's basically my takeaway.
Seeing something and recognizing it means the information has left some trace in your brain.
That's good.
But don't stop there.
Close the book.
Hide the solution.
Turn off the video.
Close ChatGPT.
Then see what remains.
Because when you're sitting in an interview, solving a problem alone, speaking another language, or actually trying to build something...
the answer won't always be sitting in front of you.
And that's when you find out whether you actually learned it.
Or whether your brain was just really good at saying:
"Oh yeah, I've seen this before."