My first Frontend Interview

Completely agree on the Udemy course…best one about JS, I MUST re-take it more in depth, and focus on it…after this interview experience, it confirmed to be fundamental!
Thanks for the short explanations as well…these are the ones that stick in the brain the best.

1 Like

Glad I could be of help and encouragement. Wishing you the best for your next interview! :thumbsup:

1 Like

Thumbs up for having the courage to go to an interview after only 4 months of learning how to program.

In some more months you will get there!

:slight_smile:

1 Like

[see update below]
I think the correct answer to question 5 should be:
Cookies pass from server to client (also called user agent, a web browser in this case) by the “Set-Cookie” HTTP Header.
(Instead the browser use the “Cookie” HTTP Header to return back the cookies previously received)

The explanation of cookie in w3cschool page (suggested by @EgoDominusVos) does not mention this at all!
Look there: https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies

I don’t understand what @jbkwizera means by “they are generated randomly”.
If a cookie have a random value, that value is created by the server (or whatever generated the response), the cookie is only a container.
Cookie are not “magically” deleted by the browser when you delete “history”. This is only the genel default behavior of nowdays browsers, this action is decided and performed with intention.
For example my browser (but probably also others) permits me to define really precisely what to do when I ask a “clean” operation. For example I can decide to maintain just the cookie of some “friendly” web sites and delete the others, or to leave the cookie and delete only the (navigation) history or the “searched pages” history.
Session cookies (when expires or max-age is are not defined, so, the default ones) “should be” removed when the browser is closed. This is the “expected” behavior but a malicious browser/user agent or a bug could make persistent the cookie, see “Session cookie” paragraph in the link).

“document.cookie” is the JavaScript way to manage cookie, but for example this piece of C# code shows you how a server pass this data to the browser. It is an HTTP Response returned to the client (a browser, a mobile app, another application…)
HttpResponseBase response = Response; // from Page Controller
response.Headers.Add(“Set-Cookie”, “my_cookie=aaa”);
// I can also add these: "my_cookie=aaa; expires:<ddd, dd-MMM-yyyy HH’:‘mm’:'ss ‘GMT’>; domain=; path=; secure; HttpOnly;"
return response; // to the browser

[Update]
Sorry, from a JavaScript point of view “document.cookie” is the correct answer.

The other comments and because JavaScript is executed IN the browser, “translate/move” made me thinking at the client-server "communication.
Probably “translate/move” is intended from the document (the JavaScript contained in it) to the browser internal storage/memory.
Maybe a more cliear question could be
5 (JS) - how cookies are created, readed or deleted to the browser (from the document/JavaScript).

2 Likes

Z-Index is a CSS property of HTML elements that defines the level of depth.
If you imagine the screen as a plain with the X and Y axis, the Z-index property correspond to the Z axis.
A higher value means top position on the stack in the direction from the screen to the user.
A typical usage is to show a modal window, in that case usually a high value like 1000 or 9000 is set to be confident enough the modal object (a div, a span or iframe) is shown on top of all the other elements in the document.

Yes, in my experience the interview process start with just 5-10 minutes of conversation just to give the interviewer a little more information about your situation. One reason to be “cold” is taht if you receive a bad feedback it is preferable not to be “shocked” after a really friendly conversation. If the interview is long and finish to be friendly, this could be a good sign the interviewer is happy and you have chnces to be called for the next step.
In one case I had a super friendly interview but the response was that I was too “chatty”, that was my reaction to the interviewer friendness!
Remember that 1 of N applicants pass the interview and N-1 appilicants should be informed that they are discarded for the role No one is happy to say that to a person. Most of the time you don’t receive any feedback/response at al. Not all the companies take care about feedback for the applicants.

Interviews and feedbacks help a lot to move forward. I encourage everyone to try also if you are only 60% confident.
I recently fail an interview only because it was 1 year that I haven’t had one. I passed really easy a second one (just a week later) that was for sure more technical and hard. The first “mistake” helped me to be prepared for the “real” one.

2 Likes

Thanks Alex for sharing your experiences and to highlight about the Z-index!
I agree about the interview process, I was expecting something more colloquial, and not just 5 questions fired immediatelly. I understand that it is a way to filter the candidates; however, a candidate should be seen at 360 degree; by the way, I found difficult to express in “words”, concepts that I have used in “practice”, I believe however, that even this aspects is a matter of experience and practice, of course.
Bottom line, the position clearly highlighted a ‘Deep knowledge of JS’, and as I ve already wrote, those questions should have been answered.
Said that, looking as well at potential HTML/CSS/JS question, I go ready and came across things like: prototype, event delegation, scopes, closure, hoisting, various way to express a function…in fact I got ready for these. The failing of this interview highlighted some weak points to focus on, and about it, I am pretty happy since it was a sort of evaluation.
Frontend is a huge topic…to jump right in I d have needed more luck than skills…continuing on the path, I will need less luck, and I will have more skills to show.

1 Like

Hello, thanks for sharing your experience. Please tell me how many hours have you studyed per day in that period of 4months and which courses have you studyed? Thanks.

2 Likes

Starting as “almost” beginner…average of 5 hours every day.
I am enrolled at a 6 months dev bootcamp online + FCC + couple of months of Code School + Udemy “JS: understand the wierd parts”’ + Ducket HTML/CSS and JS/jQuery books + YDKNJS + Eloquent JS + practical JS + 30days JS + Codewars.

1 Like

Hello Camillo,

Are you from Italy? I am just assuming from your name.
If you are, can you share the name of the company you interviewed with and further info on the current tech market/employability in the country?
I myself am from Italy and haven’t quite figured out yet if there are decent opportunities for employment around here, if you have done research and have knowledge in this regard can you kindly share?

Thanks!

Ciao, of course, I am Italian…the name of the company was Ustream; however, I am not looking for an opportunity in Italy, rather around Europe…countries I am looking into are the ones which have a growing tech scene like Hungary, Switzerland, Estonia, Netherlands (which is great for Junior positions).
In Italy, I have seen opportunities in big cities like Rome, Milan and Torino…something around Bologna and Padova as well…sent some application there as well, but no feedback at the moment.

Grazie!

That’s pretty much what I thought, unfortunately the tech industry here is quite behind -as for many other things…- and I figured it wouldn’t be easy to get in as a junior.
For that matter I will be looking abroad too. Keep us posted on your progress if you will, I think It would be very useful to have a job-research perspective from someone who doesn’t live in north-america.
Thank you again for your quick reply, let’s stay in touch!

Ciao

1 Like

Good point…in Europe is full of positions and potentially there should be a bigger shortage of coders…the most difficult leap is the first one, to a Junior position…if somebody is willing to relocate there are many many opportunities, it s just about time.

1 Like

Very nice. I have been studying for a year+, and I still haven’t had an interview.

Just wanted to share since I had a flashback when reading it:

https://www.quora.com/How-do-you-judge-a-JavaScript-programmer-by-only-5-questions/answer/Mattias-Petter-Johansson?ref=fb_page

3 Likes

Just another story to share:

I have been at a technical interview for a JS dev position (they required just JS in the job description). Been there, the interview was ok, actually pretty good, I was able to answer to: Closure, Promises, Prototype, Hoisting/Scope, Execution Context, Bind/Call/Apply, etc…The company is working with a JS/Angular1.5 - Node/Heroku - SVG stack…I could technically cover part of it, and learn the rest…long story short, they want me to do even an assignment “to show how fast I learn new tools”, that is the assignment:

In this exercise, you have to implement a full-stack web application with a very simple functionality. The application should consist of a Nodejs back-end and an Angularjs front-end. The Nodejs service should expose a REST API with possibly a single end-point that allows the Angulajs app to query a resource from a database. The Angulajs app should visualize the received data.
The goal of the application is to visualize a graph. The database should store nodes and edges in some format, the Nodejs app should read the database and send the data to the front-end when requested. Finally the Angularjs app should draw the graph using SVG.
The suggested technology stack is as follows:
• Angulajs for the front-end
• d3 (or equivalent) for visualizing the graph
• Nodejs code for the backend
• ES6 code
• koajs (or equivalent) as web framework
• Sequelize (or equivalent) as ORM
• Postgres as database manager
The evaluation of the exercise is based on the following aspects:
• clarity of code
• software architecture: proper separation of model, controller and service
implementations both on back-end and on front-end

No, time-limit…as fast as I could!
Honestly; although, I am new in this field…it seems not correct to me, the position was for a JS skillset, not a “Full-Stack”, plus having the Angular, D3 and SVG knowledge, I would apply for better position (IMHO)…bottom line, I gave myself a week to get some knowledge of Angular, put down some basic examples and submit them…doesn’t matter what, I will never take that position.

Expert person all. Thanks for share your experience. Really helpful.

but a JS skillset can be full-stack too, no?

Anyway, how did it go and did you finally got a job?