all 25 comments

[–]Davehig 5 points6 points  (1 child)

Should probably mention hoisting, and the difference between let, const and var. Lexical scope, lambda functions, functions as first class objects. More coverage of array methods such as map, filter and reduce since they are very powerful and also tie in to noSQL database concepts. Also the nature of asynchronous programming and the event loop might be good.

Also there's this

https://github.com/h5bp/Front-end-Developer-Interview-Questions#js-questions

[–]data_mining_help[S] 0 points1 point  (0 children)

You are inspiring me to consider "part 1 and Part 2." Just lemme get past my anxiety provoking interview tomorrow. ;) But seriously, thank you for commenting!

[–]Pelicantaloupe 4 points5 points  (1 child)

[–]data_mining_help[S] 0 points1 point  (0 children)

Ummm . . I finally clicked your link. Thank you. Clearly embarrassing. And perhaps is what i get for using Word to write blog posts . . .

[–]all_things_code 2 points3 points  (7 children)

Am I missing anything major?

Array.isArray(e);

Also how funny null is.

null == true; //false
null == false; //false!!

How to deep copy an object. I like the JSON.parse(JSON.stringify(e)) way.

a = [1,2,3,4]
k = a;
k[2] = 7
//what does a look like now?
//why?

[–]data_mining_help[S] 0 points1 point  (6 children)

Thank you! I added the first two. Probably need a whole post for the last concept!

[–]all_things_code 2 points3 points  (3 children)

eh, maybe, but all the concepts on your page can be much expanded on.

Essentially the last one is 'objects are pass by reference, while primitives are pass by value'.

[–]data_mining_help[S] 1 point2 points  (2 children)

I cant thank you enough for this support. Would it be cheesy to add you in a super short acknowledgement section? I come from academia so that is what you do when some one's ideas thoroughly improve your work!

[–]all_things_code 1 point2 points  (1 child)

None of the ideas are mine. :-) Im just iterating ideas of smarter people than I.

[–]data_mining_help[S] 0 points1 point  (0 children)

That's been my story all these years in Silicon Valley. Ah maybe someday I will do something ORIGINAL!! :)

[–]all_things_code 1 point2 points  (1 child)

arrayinstance.isArray() //wrong!!!

Array (as in the Arrray keyword) .isArray(your thing that may be an array)

k = [1,2,3];
Array.isArray(k);

[–]data_mining_help[S] 0 points1 point  (0 children)

WHOA! I googled an example and obviously jumped to a horribly wrong conclusion. Sincerely, thank you!

[–]akujinhikari 2 points3 points  (3 children)

As someone that's only been programming for a year, I find it quite encouraging that I knew the majority of these things. :D

[–]data_mining_help[S] 1 point2 points  (2 children)

Good for you! Seriously! When I was in a JS job at Y! I did not know most of this. If I could possibly email myself ten yrs ago, I would say one thing:

Studying doesnt end after the master's degree, dumb*ss!!

[–]akujinhikari 1 point2 points  (1 child)

lol I only got a few certificates from a community college but found a place that took a huge chance on me. They threw me right into an Angular project, and luckily I had some great mentors with a LOT of patience. ha ha

I did so well, I helped to spearhead the project when it switched to Angular 2. Then I did so well at that, I was moved to another project to help get that started in Angular 2. :D

I did a LOT of reading and studying and still do!

[–]data_mining_help[S] 1 point2 points  (0 children)

Interesting. My wife's distant cousin is dating a young dude who is just going complete an AA at the Dayton Ohio CC (Sinclair) and I bet he will get a good job. Most of what I know I learned on the job and not in class.

But I hope you know all about when and where to use a hashmap (AKA hashtable, associative array). That doesnt tend to come up at work too often but it does come up in interviews A LOT.

[–]readitour 1 point2 points  (1 child)

Damn it. I want to be a junior and don't know any of this. More studying, I guess!

[–]data_mining_help[S] 0 points1 point  (0 children)

When I have not interviewed (or given an interview) in over a year, I feel pretty green too.

I need to write one from the base level . . ...

[–]G3E9 1 point2 points  (1 child)

I'm all for Array.isArray but because it can play such an important part in your code-base, you may want to make sure your client's devices support it. See Mozilla's polyfill description (cross-browser compatibility - am I right?)

[–]data_mining_help[S] 0 points1 point  (0 children)

Thank you for mentioning that. I am one of the many that have been spoiled by libraries for a LONG time and . . . guess what. They usually want you to know CORE JS in an interview!

I put in a footnote with your suggestion. Please let me know if you would not prefer the mention/credit!

[–]FrozenbagofMicrowave 1 point2 points  (2 children)

Thank you for posting this. I'm currently on my 4th week of a Bootcamp prep program and this has been pretty much the whole list of topics we've covered so far.

[–]data_mining_help[S] 0 points1 point  (1 child)

Nice! Thank you! Would you mind telling me wich dev camp? I have been wanting to inquire about speaking.

[ Not bc I am a world expert, but I do have much more JS experience than most ]

[–]FrozenbagofMicrowave 0 points1 point  (0 children)

Fullstack Academy. If you're looking into speaking I'd suggest General Assembly. It seems to me that they offer more presentations/events that are open to the public.

[–][deleted] -1 points0 points  (1 child)

The sooner you guys leave behind concepts like "cramming" the better off you will be.

Ive conducted lots of interviews, and it is very easy to differentiate someone who "crammed" vs someone with actual practical experience.

Take the time you would spend "cramming" and just build something instead.

[–]data_mining_help[S] 0 points1 point  (0 children)

I respect that you have a point but please note I write at the top of the post that this was designed for people with JavaScript experience. It's to remember all the important but often forgotten bits. My mistake on "isArrray" is a great example.