Angry Birds – Following on your passion

This is supposed to be a text about following your passion: some people follow on saving the world, others prefer apparently simpler things like popping green pigs. Don’t get me wrong: it’s not about the purpose per se but the way to get there. It’s always about work, a lot of work.

Looking at the screen below, one could easily conclude that – at some point – I did become very, very efficient in the pig popping business. At the end of the day, some of these golden eggs become available when winning 3 stars in maybe 60 different levels.

Golden Eggs

Continue Reading →

The “Debugging” interview – a few pointers

The long interview day is nearing its end. Googamazbook got the best and the worst out of you (well, neither of those, but I’m trying to put some literature in here); the last interviewer comes in, smiles condescendently and greets you with:

Time for the easy interview, heh?

Yes, you have all the reasons to be concerned and feel you’re just one step away from failure (yes, why didn’t you spend the day by the pool in the basement of the many stars hotel they got you a room in for the interview?). But without further ado, the questions start pouring in:

Question 1

How do you figure out if a process is CPU bound or I/O bound?

Tricky! Let’s not jump to the conclusion. There are 2 variables here, this means we have 4 possibilities:

Continue Reading →

The “Networking” interview – a few pointers

You’re in a tiny room at Googamazbook and the interviewer comes in, says hi (if you’re lucky), presents themselves (they’re really into doing you a favor) and then starts asking questions. The easy one comes first:

What happens when you run telnet www.brainware.ro 80 ? Please go on through all the layers.

Warmed up from the systems interview, you start talking about /etc/hosts and /etc/resolv.conf: name resolution and then the actual connection to the http port. If your knowledge stops here, please do go on reading this text. Or just do go on, maybe I forgot something.

1. Name Resolution

The name resolution protocol is performed by sending an UDP packet to each resolver found in /etc/resolv.conf. The UDP packet has a small header containing:

Continue Reading →

Previous Page · Next Page