Yesterday I did my first real technical assessment for a Software Engineer job interview. The assessment was hosted through CoderByte, and included 3 programming questions and two short answer questions. It was... fine.
Of the three programming questions, there was an algorithm problem, an easy SQL question, and a mini React project. I decided to do the React problem first, thinking it would take the longest but also I would feel the most confident about it.
It DID take the longest, but it was not the one I was most confident about. It involved building a contact list from a provided form. I haven't used forms in React much yet, and it's been a couple weeks since I worked on my flashcard app because I've been focused on prepping for this and another interview process at the same time, so React was a little rusty for me despite my review. (This speaks to how powerful building is as a learning tool over just studying).
I knew exactly what needed to happen, it was just the implementation of it that threw me for a loop. I was not able to complete it because I had to move on to the other questions.
The short answer questions and the SQL question were easy, and I didn't have any trouble there. The last programming question had to do with converting a decimal number into a binary number, and comparing it to a different binary number to see how many differences there were between the two binaries.
I knew exactly what needed to be done, but I choked on the implementation. Converting to binary - check. Converting the numbers to arrays to compare them - check. Comparing the arrays - CHOKE. Comparing two arrays is a problem I've seen a bunch of times so far, but clearly I haven't mastered it yet because I couldn't quite get it right. Part of the issue was that I was running out of time by this point, so the time pressure certainly didn't help. This morning, I woke up with the solution in my head. All I needed was more processing time.
I left comments in my code to demonstrate that I knew what needed to happen and how to do it with pseudocode, but I didn't submit the code with working solutions. If they actually read my code despite not passing the tests, hopefully my comments will earn me some human points and show that I AM a capable programmer.
This experience has me feeling simultaneously like I'm under prepared and like I'm totally ready. On one hand, comparing two arrays is a relatively common task, and I should be able to handle it confidently going into a technical interview. On the other hand, without a time limit and with a person to ask questions to, these questions were not above my head at all.
I haven't heard back yet. Either way, making it to this step is another step closer to becoming a professional programmer!