This was before Microsoft. I decide to move from my current company and – among other thing – got a phone interview with a Chicago company specialized in what’s called today CMS – Content Management System. In mid-nineties it was called “Document Management”, but that’s not important. The guy, who interviewed me, was an expert in MFC and he was VERY proud of it. So, he asked a question:
– (he) Sometimes, we have to put 10,000 lines into a single scrollbox. Computer hangs, memory consumption goes through the roof, slider is too small, nothing works. What would you do?
– (me) I would not put 10,000 lines into a single scrollbox.
– (he) But what if the customer asks for that?
– (me) I would talk to the customer and explain him that scrollbox is not good for that.
– (he) And what if he insists?
– (me) I would explain it again. Scrollbox is a wrong control to use here. You need some navigation, showing results page by page or some search. Scrollbox here is a really bad idea.
– (he) And what if you have to?
– (me) Well, then I would put 10,000 lines into a scrollbox and show the customer on a prototype that it does not work. And after that I’d suggest something that would work.
– (he) Can you solve this problem with MFC?
– (me) It’s not a problem of MFC. It’s a problem of user interface.
– (he) Think again.
– (me) I thought. No, you cannot.
– (he) Do you know about interceptors on controls? Can you use them?
– (me) No. You can dynamically change the content of the scrollbox using them, so that it always contains only part of the list, but the behavior of the scrollbox will be poor. It will jerk, the slider will move unproportionally. Please, understand, it’s not a technology problem. Computer is metal, it can do a lot, but the human in front of it cannot. It’s not about putting 10,000 lines into a scrollbox, it’s about a person in front of it being able to use it.
Do I have to tell that I failed this interview? By the way, I am still proud of it!