我參加了 ChatGPT 和 Claude 編寫的閉卷 C# 考試,得分 22%
I Took a Closed-Book C# Exam Written by ChatGPT and Claude (Score: 22%)
作者讓 ChatGPT 和 Claude Sonnet 5.5 各自編寫四小時 C# 考試,再在不使用 AI、Google 或 IDE 自動完成的情況下閉卷作答,分別取得 53.5%(107/200)和約 22–23%。兩份考試中,現代 C# 都是最弱一環,Claude 考卷的相關部分得分約 15%;作者認為,問題不只是依賴 AI,也包括未真正掌握較新的語言功能。
No AI, no Google, no IDE autocomplete. Just me, a blank editor and a lot of humility.
TL;DR
- I had ChatGPT and Claude Sonnet 5.5 each write a four-hour C# exam covering beginner to staff-level topics, then took both closed-book.
- ChatGPT’s exam: 53.5% (107/200). Claude’s harder exam: about 22–23%.
- Modern C# was my weakest area on both exams (as low as 15%).
- “AI brain rot” is only part of the story. I never really learned the newer features in the first place.
Video version: [paste YouTube link]
Why I did this
AI coding tools are good enough now that I can ship C# without remembering much of the language. Need a LINQ query, an async pipeline or a unit test? A prompt gets me there faster than recalling the syntax.
After a long stretch of not writing code by hand, I wanted to know what was actually left in my head. So I set a rule: no AI, no Google, no autocomplete.
The setup
I asked two models to write a four-hour exam covering beginner, intermediate, senior and staff-level material:
- ChatGPT produced sections on foundations, everyday syntax, generics, code reading, debugging and a 60-minute practical task (completing a method in a small order-reporting system).
- Claude Sonnet 5.5, on high effort and asked to make it harder, produced sections on modern C#, interfaces, OOP, concurrency, memory and allocation, nullable reference types, and a 60-minute coding challenge.
I kept the scope to language knowledge only. There was no ASP.NET, Blazor, minimal APIs or microservices, so I couldn’t lean on framework familiarity.
The results
| Exam | Score | Best area | Worst area |
|---|---|---|---|
| ChatGPT | 53.5% (107/200) | OOP, about 70% | Modern C#, 30–38% |
| Claude Sonnet 5.5 | about 22–23% | none above 50% | Modern C#, about 15% |
Two things stood out:
- The ChatGPT exam felt easy, and I still only scraped past half.
- On the harder exam, not a single section reached 50%. Even the fundamentals came in around 33%.
My strongest result, OOP, is also the highest-level topic. It’s closer to design thinking than to syntax recall, so I didn’t count it as a win for the low-level knowledge I was testing.
Blaming AI is too easy
My first reaction was “brain rot.” Maybe. But the weakest area on both exams was modern C#, which moves fast, and I suspect I never properly learned much of it. If you accept generated code without studying it, you receive the output but you don’t absorb the feature.
That’s a different problem from forgetting. It would have shown up even without AI in the picture.
Try a few yourself
These are not questions from the exams. They’re examples of the kinds of things I’m now relearning. Predict the output before you run anything.
1. Value types vs reference types
struct Point { public int X; }
class Person { public string Name = ""; }
var a = new Point { X = 1 };
var b = a;
b.X = 99;
Console.WriteLine(a.X);
var c = new Person { Name = "Ada" };
var d = c;
d.Name = "Grace";
Console.WriteLine(c.Name);
2. Nullable reference types
#nullable enable
string? name = GetName();
Console.WriteLine(name.Length); // what does the compiler say?
Console.WriteLine(name?.Length ?? 0); // and here?
3. Newer syntax
public class Order(int id, List<string> items)
{
public int Id => id;
public IReadOnlyList<string> Items => items;
}
int[] nums = [1, 2, 3];
if (nums is [var first, .., var last])
Console.WriteLine($"{first}-{last}");
If you can name the C# version each feature in snippet 3 arrived in and explain what a primary constructor actually captures, you’re ahead of where I was.
(Answers: 1, then Grace. The second snippet warns about a possible null dereference on the first line only. The third prints 1-3.)
Is memorizing syntax still worth it?
Honestly, both sides have a point.
Against: AI handles syntax well, and your time may be better spent on design, debugging and system thinking.
For: You own what you ship. In domains like finance and healthcare, “the model wrote it” won’t hold up. Reviewing code you can’t read isn’t reviewing at all, and subtle bugs in nullability, concurrency or memory behavior are exactly the ones a confident-looking suggestion can hide.
I think AI changes how much you need to memorize, not whether you need to understand.
The plan
I asked Claude to build a curriculum. Its estimate was roughly four to five months at about 2 hours a day, four days a week. That’s a long haul, but here’s what I’m going to do:
- Rebuild the fundamentals, then work through modern C# feature by feature.
- Write code by hand first and use AI to review it, not to write it.
- Retake an exam in a few months and publish the new score.
Discussion
Could you pass a closed-book exam in your main language? Which topics would sink you? Let me know in the comments.
來源:DEV Community · dev.to