What I Learned From a Screening Interview
I was pretty happy with myself. Not only had I seen a well put-together job posting on Reddit, but I actually got a DM back, asking about my e-mail, and when to contact me! I've only been completely passionate about web development for about 9 Months now, and the fact that my resume looked good enough to potential employers for them to contact me back really made me feel like I was really going somewhere with my work. This turned out to be the wrong feeling that I should have had.
A week or two later, I was finally able to talk to the guy that contacted me about the opportunity. He was really nice during the interview, and he also let me know of the biggest thing that I needed to work on, which was my Data-Structure/Algorithm knowledge. I felt so dumb when I was asked even a simple question on the basics; "What is an abstract class, and why are these classes used instead of ?". My voice broke, my hands got sweaty, the volume of my voice got lower;
"Well, ummm... uhhhh... I mean...". I eventually got close to being right, but I wasn't really correct. I then learned that abstract classes are used to be inherently changed to fit a specific guideline, which, I know, is a very vague answer.
So, being the person that I am, I researched what the correct answer would be, and I found out that most of the general things that I'm doing with web development right now involves tons of abstraction, It's like I'm living in an abstract world and I never even knew about it!
In an abstract class (at least in Java programming) there can be a mix of regular and abstract methods. The regular methods are applied to every other subclass that extends the parent class, but abstract methods must be implemented specifically for that subclass. For example: Birds (the abstract class) can sing, but a Blue Footed Booby's (a class that inherits the 'Birds' class) song is going to be different from a general bird song. So, the Blue Footed Booby class would need an implementation of its own 'sing' class to be able to sing its own song.
I didn't know this during the interview, though, so I left the call pretty disheartened at the state of ignorance that I was in. But, life goes on, and so does the never-ending struggle of learning. So, sooner rather than later, I'm going to dive deep into data structures and algorithms and probably never come back after that point :). It will be a hard struggle for sure, but there was never was anything worth doing that wasn't hard at first.