Technical Interview Questions

Hey guys, so I usually tend to write long explanations in details, but learning about Personal/Behavioural questions got me thinking that I might sometimes (in life in general) just include the things necessary to make my point.

My question is what about the logical part of the interview - the technical questions.
I have searched most frequently asked fullstack web developers questions and having “built” projects (well out of follow-me Udemy courses) I do know answers to some of those questions, others like “What are the new features of HTML5”;“What is CSS preprocessor”, etc. i had no idea about, I probably have to memorize those too?
I forgot to mention I never had a programming job, so I’m trying to get my first (i’m focused on JS+Node+React).

Others questions like: Explain: Continuous Integration / Inversion of Control / Long Polling / Design patterns … explain API’s to someone who doesn’t know how to code? - Dude, I barely know to explain those stuff to someone that does know, without confusing him/her!
And it makes me feel sad that I have to memorize these as well, as those latter ones are more things that I should “understand”.
But… its never been explained to me in those 5 Udemy courses I’ve taken or 1000s of YouTube programming videos I’ve watched, hence it wasn’t even MENTIONED!
It leaves me feeling frustrated, stupid and defeated.

My 2 questions:
Is there any part of freeCodeCamp that can help me understand the latter part of the questions or if you are allowed to refer me to outside links? Or is memorizing those as well, just as okay, “enough”??

2nd Q. is: my first google result led me to this answer:

(CTRL+F): algorithm sections for JavaScript on freeCodeCamp
He said you should know the basics at least, was he referring to freeCodeCamp’s JS DSA mini-course: https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures ?

1 Like

Hi @Aleksandar8 !

For the html question, there are many articles you can read with a few answers you could provide in interviews.
But you don’t need to rattle off every single answer.
Just pick one.
If I had to answer it, I would say that html 5 places more emphasis on semantic markup by using tags like section, article, figcaption, etc.

As for the css preprocessor question, I would just provide a basic definition with an example of one like sass or less.
Here is a good article

Both of those are fair questions for an entry level job.

Here are some other questions they might ask you based on the tech stack you listed out here.

React questions:
What is the difference between state and props?
What is the useEffect hook?
What is JSX?
What are some differences between react and angular?
What is the virtual DOM?

JS specific questions:
Differences between == and ===
What is hoisting?
What is the DOM?
What are call backs?
What are promises?

Node questions:
What is node?
How do you create a server in node?
What is callback hell?

I would suggest studying using top interview prep articles so you can feel more comfortable with these questions.
Also, remember that it is fine if you don’t remember everything.
Just try to do the best you can.

I would have a basic understanding of CI/CD and version control.
But they probably not going to drill you hard on that stuff.

As for design patterns, I would just have a basic understanding of some popular ones but don’t stress about it to much.
Your job is not to be an architect and making design decisions for the team.
That is the job for the seniors.

I would just aim for basic understanding and move on.
You will more about that on the job anyway.

You can check out articles on fcc news or fcc youtube videos on git and CI/CD basics.

For the coding challenges, they just want to see your problem solving skills.
As you are practicing these challenges, break down the problem, talk through your process, and slowly code out a solution.
If time is left over, talk about ways you would optimize your solution.

Hope that helps!

2 Likes

Not all companies do that sort of Q&A style questions, but here’s what I do when I have an interview coming up. I make sure I know the tech stack ahead of time and then I google “most common <JavaScript, etc> interview questions” and if I don’t know the answer I look it up. Sometimes I understand the answer and if asked I can phrase it in my own words. Sometimes I don’t fully understand it because I would need a broader context or to go deeper into it. Then if I get asked that in an interview I’m pretty honest. I might say something like “It seems like there are a lot of different approaches that people call “continuous integration”. I understand the general premise is to ship incremental improvements rather than major releases, but could you tell me what CI looks like here?”

2 Likes

There is another element to interviewing that is worth keeping in mind.

Being able to say you don’t know, and understanding where the limits of your knowledge are.

Companies would like you to know everything, but companies are also aware you can’t know everything. They mainly care about you understanding where your limitations are, as if you are aware and willing to learn more, then you can go and learn beyond your known limitations.

Sure its possible your so far away from being knowledgeable on a topic that is important to a company, that the distance becomes a key factor in you not getting a job, but being honest with the company and yourself also gives you a direct route for learning more about what this company, and probably other’s are looking for. So when possible do ask for feedback during the interview process on why your rejected so you can go out and learn what is needed.

There’s a saying out there that you don’t fully know something until you can teach it. This is probably the underlying goal of asking this question. As the deeper understanding part is not something you can memorize, nor should you strive to. If your job is to build API’s then you should know how to explain what it is to someone who isn’t a developer.

Being able to describe what and why your doing something is very important within a business setting as there will be a factor of people who are not technical. Being able to communicate with these people will make you a better developer.
Another way to think of it is, if you can’t explain what your building or why you’d build it why would a company pay you to do it?

I’m sure there are courses out there that can teach you these topics. But if you don’t sign up for those courses, you wouldn’t know that these sort of solutions, or problems exist unless you’ve seen the problem first-hand.

Taking Continuous Integration (CI) as an example, if you have experience working with a project with no continuous integration, you’ll find its incredible annoying and bug prone to deploy and test everything together. If you find a bug, you have to go through your manual deployment process and test everything again. This process creates a bottleneck and makes any improvement, or fixes more risky and time consuming. If you work with other people this process can become vastly more complicated and risky over time.

CI and Continuous Deployment revolves around automating most of this process so things are integrated, tested, and deployed vastly faster and more efficiently. This way everyone can focus on the issues and less about the process of getting those fixes/features into the hands of end-users.

It really depends on the topic. Somethings are best learned from experience, other’s are more inclined to memorization and study and depending on the company and role they may ask you a different mix of each.

2 Likes

Hello @Aleksandar8!

Was going through one of my old emails and stumbled upon this… What a blast from the past.

To your first question: Explaining Continuous Integration, Inversion of Control, Long Polling, Design Patterns, API’s etc…

I think the right answer here is simply just google research. Querying for “What is Continuous Integration” leads you to a mountain of articles albeit some marketing trash. But, for those concepts you don’t fully understand yet you’ll just have to read more until you get a better understanding. The only caveat I’d add to this is that interviewers aren’t going to expect (or shouldn’t) an expert level understanding of these topics. A short comment of what it is just to convey you’re aware of it and understand it’s place in the world will be sufficient.

e.g. What is continuous integration? CI is the process of continually integrating changes into the code base. This may be implemented using trunk based development in addition to automated testing to ensure compatibility between merges. This is often coupled with continuous deployment (CD) which will additionally deploy new changes automatically based on specific conditions i.e. tests passing after merge, every hour etc.

To your second question: Algorithms/JS

FCC has changed a lot since I used but taking a brief look at the link you provided that course seems like a great start. Additionally I highly recommend Wes Bos’s courses specifically his Javascript30 course here and it’s free as well.

best of luck!

edit: I would also like to add that don’t be afraid to remove some items from your plate. Setting your sights on becoming a full stack developer is admirable but it’s A LOT! Don’t be afraid to focus on one area just starting out. Once you’re comfortable in that area you can start to branch out.

1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.