Subjective test
No time limit, No word limit. Write as much as you can. This is the test paper I prepared to select students for the tech division of Entrepreneurship Cell, IIT Kharagpur.
No time limit, No word limit. Write as much as you can. This is the test paper I prepared to select students for the tech division of Entrepreneurship Cell, IIT Kharagpur.
June 25th, 2009 at 10:30 pm
I’m posting brief hints as to what I expected solutions to contain, as someone has requested it. Before I start, let me warn you- I’m wasn’t necessarily looking for pedantic solutions- In fact, I encouraged off-the-rocker impractical solutions. The purpose of the test was to gauge conceptual strength and creativity, for the most part.
1. Evolve an answer from early time sharing OSes to the modern Unix fork(). My main purpose here was to test the understanding of a CPU’s fundamental constraint of handling only one instruction at a time.
2. The rendering engine and the Javascript engine are two independent entities of a web browser. Once the rendering engine has rendered the DOM, the Javascript engine takes over and modifies the DOM. Only when the Javascript engine has finished its operation (and function returns), can the browser return back to the rendering engine. There’s something principally different between Javascript and HTML/CSS – One is “parsed and rendered” and the other is “executed” on the rendered document. I was testing the understand of this.
3. This question has no easy answer- the respondent may choose to go on and on about advanced filesystem design. but what I really wanted here was to test is creativity. Random access and delayed writes are acceptable solutions. Filesystem fragmentation is the concept I was testing here.
4. This one is probably the hardest. I was expecting the respondent to notice that f always produces a fixed output size, with no decipherable relation to the input. f also has no inverse. A cryptographic hashing function is the only acceptable solution I can think of.
5. Any respondent who has experienced the lag behind a web proxy should be able to answer this. Caching doesn’t just happen at the master server, but in several other nested mirrors and cloudfronts as well, all the way up to the client’s web browser. Beyond this understanding barrier, a simple answer such as ‘use timestamps’ will suffice.
6. There are advantages of putting data in more well-suited data structures. I was testing the understanding of how data manipulation is made more convenient by doing this. In a tree, operations such as adding/ deleting nodes, branches and leaves of a tree can be performed without breaking the overall integrity of the tree.
June 26th, 2009 at 1:01 am
Thanks man. Interesting and really creative ;) test that you prepared.