In an effort to remind myself how to focus after quite a lazy summer, I am at the wonderful new Central KPL stealing wi-fi and prepping for Java interviews. I’ve sort of taken the summer off, and while I’ve written and studied Java a little (taking a Java 8 lambda course, for example) I’ve been mostly learning Python or messing about with Linux, NQC, and LEGO.
(As an aside, how can people stand interfaces that whistle, chime, and others announce every single operation? There is a woman next to me who is using some tiny keyboard-and-ipad combination that is literally making a different noise on every keystroke.)
So, I’m out of practice thinking like a working Java coder.
This whole coding interview is a tricky thing, though. My feeling is that I don’t come across very well in such interviews, mostly because unless I’m in the moment looking at a specific problem, I forget exactly what I did, or how I went about it. I just don’t solve problems and approach algorithms like I was taught in class.
In real life it’s more like this.
I’m pretty sure I “think like a computer scientist”, but my sort of computer science is a little more ad hoc, and grounded in hackery as much as beautiful code and math. I mostly used hacking as a gateway drug to code and math. I’ve also jumped around a lot over the years, and as a true generalist I’ve placed more importance on grokking frameworks and business needs over deep algorithmic understanding.
So, coming into this cold while being stared at by an engineer potentially as grumpy as me is a bit of a challenge. (And offers no small amount of irony.) So, I’m trying to just get into the pair-programming mindset.
I just hope I’m not going to be implementing yet another hashset or LRU cache in Java.