Day 22: The White Board
What did you learn today?
Today, all of the juniors participated in HackReactor’s first senior interviews. Each junior paired up with a senior to participate in a technical interview. The interview consisted of a toy problem, technical questions about the problem, and questions around time and space complexity.
I thought that I did well while white boarding (or diagramming out the logic) of the toy problem, and I yet I still had room for improvement. I did a great job of iterating back my understanding of the problem, asking clarifying questions, and documenting that information as constraints at the top of the white board. I talked out loud as thought about different strategies for solving the problem, and I had a few “a-ha” moments that led me to a solid solution. In case you’re wondering, my problem was to find the longest palindrome (case insensitive and white space okay) given a string. I could have done better by asking about time complexity before hand rather than after solving the problem. I also learned that I tend to do better once I step through an example and think about the variables that I will track. Finally, my largest room for growth would be to rely more on pseudocode rather than actual code. I went into the session thinking about syntax and being strong in that technical regard, which wasn’t really the goal. Pseudocode demonstrates clarity of thought, and it can easily be ported over to any programming language.
Other topics that I revisited included SQL queries, SQL table creating and manipulation, and Promises. I must say of all the things I learned that I was dazzled by asynchronous callbacks from the web-archive sprint since I could imagine information following from computers across a network and back to my screen; all of which happened because of the code that I wrote.
Did you learn anything new about yourself?
My intuition for how to solve a problem and organize code while working on sprints remains strong and continues to grow. I am getting better about organizing code and logic and thinking ahead about how I might reuse a particular function or make use of callbacks when working with many asynchronous function calls.
Anything you want to do differently tomorrow?
Tomorrow, I want to start writing that blog post on D3.js and the key function. I told myself I won’t volunteer to write a blog post for HackReactor until I have the post written. I want to take the pressure off of myself, and besides, I’m writing and logging my learnings every day. That’s a good amount of content if you ask me.