For clarification, I'm wondering how accountable you are held when you list HTML, CSS, React, JavaScript, Angular, Node, or anything of that nature on your resume. In the past, I've said to an interviewer that I know HTML which I thought I did... and of course, he asked me a HTML question which I didn't know the answer to.
I've generally defaulted to Java as my interviewing language of choice so front-end interviews are a whole new ballpark for me. Around August, I will be rolling off my rotational program into a dedicated role in my company and I know that I would love a front-end developer role. So what are the types of concepts I should know for the aforementioned languages? Data structures & algorithms? Best practices?
Top comments (4)
What does knowing mean?
You can look at programming languages and other domains people know -- meteorology, cooking, divination, the dynamics of your family -- as systems of representation and meaning, or semiotics. A language (of any sort) is a set of symbols or signs which mean things both individually and when assembled according to a grammar, which is itself a system of signs defining what combinations and arrangements are valid. In case you couldn't tell, you can get real weird with this :)
So! If I say I "know" a language, I mean that I can generally understand the meaning of assemblages of a certain set of signs, and that I am able to create my own assemblages to transmit meaning using the same semiotic. This doesn't imply even a bounded omniscience. I know SQL quite well but am constantly looking up this or that element of the language; you are able to read and write HTML but maybe can't speak to some specific detail regarding meta tags or whatever it was off the top of your head. Like @rhymes says it's not really a yes-or-no question, but one of how well you can comprehend and manipulate these signs and whether the interviewer thinks that's sufficient for their needs.
this is the hardest :D
I can't really address your question as to what an interviewer expects you to be able to answer when you put that you know a certain technology on your resume. I've never worked in HR nor interviewed for a position where I was quizzed on details of the technologies on my resume.
What I can say is when do I personally consider that I know a language. If I've just read the introductory tutorial on the website and maybe completed a few Project Euler problems, I don't really consider that a language I know. I don't consider it a language that I know until I've actually built a non-trivial project using it.
What's more important than your knowledge of specific technologies is your problem solving skills. I know Perl, but that doesn't mean I don't have to check the documentation every single time to remember the order of arguments for split. If someone's a good Java programmer, then they can learn to be a good Python programmer.
Unfortunately, problem solving skills are a lot harder for an interviewer to assess. I've worked with people who have a master's degree in computer science, yet they have no problem solving skills. They might be able to answer all the questions on a quiz about a technology, but they are unable to actually use the technology to solve real world problems.
Great question Aishwarya!
Skills are on a spectrum, it's hard to understand what "I know JavaScript" means. Does it mean that you wrote the spec single handed with your eyes closed or that you can reasonably write an application with it?
Also, do all the companies need master level expertise?
These articles might help you on your quest:
Decoding the Front-end Interview Process
Emma Wedekind ✨
10 HTML Elements You Didn't Know You Needed
Emma Wedekind ✨
CSS: From Zero to Hero
Ali Spittel
thank u, next: an introduction to linked lists
Ali Spittel
The JavaScript Developer's Reading List
Tiffany White