And I'm back... Okay, so it took almost a week, and I was unable to keep to my commitment to publish a developer interview challenge daily. Had some work that needed to be handled and now I'm back with your developer interview challenges of the day. These challenges are not difficult, as yet. I'm surely targeting those of us who are perhaps new to the software development world and expect the job to just land on our laps, which is definitely not going to happen if you sit there and expect it to just fly to you in hope that you fit their requirements. Even if you did a lot of the work with the time and effort you put in and still you didn't get the job, you ask yourself why. There are so, so many reasons. I suppose I'll address this in a later post. For now, back to the next coding challenge.
From today, we will be starting with something slightly different. I will still add some interview challenges which actually would be more like quizzes that you can learn like flashcards to keep your knowledge afloat and perhaps do some research/learning on your own. I was watching an online video course about what to do when preparing for programming and coding interviews. Many very good pointers there, but I'll share with you one very important one that we as developers, most of us, sorely lacking in.
The points that got to me were the following:
Brush up on your fundamentals of coding, starting from 0.
Understand and internalize Basic Algorithms, Data Structures, and Design, again starting from 0.
WHY START FROM 0?
You might know the solutions to lots of stuff without knowing why, interviewers love to ask WHY!
How well you articulate the answer to WHY, makes all the difference?
AND MY FAVORITE: Practice, Practice, and Practice again.
So, you must be saying: "But I've learned from my studies and I've done a few small projects, so what more can I practice?"
Guess what people, if you want to be something you continue to learn and never give up. You learn on your own and still don't give up. But how do you keep practicing? There is an abundance of online coding challenges, I'm talking about the free ones, not those that they expect you to pay. But then you think, those questions look scary to even attempt one. Well, I've been there, I was scared to attempt a coding challenge, it's scary, I agree! But if you don't take that literal first step, you won't know how easy it actually is. And by doing these coding challenges you are not just practicing, you also find out how much you've really learned from when you were studying, you find out how much more you don't know and you actually should, and you'll find out the real reason you did not get the job when you went for an interview.
So, on to the coding challenge we go...
Instead of asking you to define a certain term, I'll give you the definition of something, you figure out the correct term that it's defined by. This way, if this is a new concept to you, you will be adding that to your future software engineering concepts that you need to know.
QUESTION 1: Software Engineering and Computer Science
Using the below pool of terms and concepts, fill in the missing words.
A software _______________ is a working model with limited functionality that may or may not contain the exact logic used in the final software program. Users use these to review developer proposals and try them out before they are implemented.
_______________ is a method used by organizations to validate an idea or concept's practicality. This stage exists prior to the start of the software development process.
Systems _______________ is a formal report that serves as a representation of software that allows customers to assess whether it meets their needs.
A _______________ is a variable that is defined in a class and shared by all instances of the class. It can be used to store information about an object, such as its name, its location in memory and its state at any given time.
class variable | case tools | system requirements specifications |
spiral model | proof of concept | software scope |
scope variable | prototype | waterfall model |
QUESTION 2: Web Design
When should you use the following HTML5 tags?
a) <em>
tag
b) <strong>
tag
c) <small>
tag
QUESTION 3: Front-End Developer
Given the following diagram, identify each of the elements of the CSS Box Model.
Now, onto the online coding challenge. For now, I chose a few at the Easy level for you to test your feet with, from HackerEarth.
QUESTION 4: Basic Programming HackerEarth coding challenge
Life, the Universe, and Everything
To help you, the very first one mentions the Brute Force algorithm, you may refer to this FreeCodeCamp post to help you, in fact, the keyword to remember here is "straightforward".
And I've done a beginner post for you to help you out with the rest.