h5bp / Front-end-Developer-Interview-Questions

A list of helpful front-end related questions you can use to interview potential candidates, test yourself or completely ignore.

Home Page:https://h5bp.org/Front-end-Developer-Interview-Questions/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Website...

darcyclarke opened this issue · comments

Last week, while being interviewed on the changelog podcast, I was asked why this project doesn't have a proper website. It's not well known but we do have a Github Page that is just a nicer looking version of the markdown file at http://h5bp.github.io/Front-end-Developer-Interview-Questions/.

I've also been asked countless times about what questions a "Junior" or a "Senior" Developer should know or be asked from this document. Terminology like this, of course, can be polarizing. Everyone's concept of a Junior or Senior Developer is different and every role has it's own specific challenges and knowledge requirements. Although those specific labels aren't helpful, I've begun to think that including meta-data and having the ability to label questions would be infinitely helpful for discoverability.

Sub-categorization is already being talked about in @richgilbank's issue #257, although I think we need to think about this a bit more broadly. Currently, we're extremely limited in how we can format and showcase content based on using only a markdown file. That said, I think there's a serious need to broaden the horizons of this project and build a proper website.

The HTML5 Please site is a good example of the kind of labelling/filtering we could add to questions to make search/discoverability much easier. But that's just the beginning.

Thoughts, feedback and suggestions are welcomed.

At first, this seems like a great idea. I'm definitely in to help building this out.

The HTML5 Please site is a good example of the kind of labelling/filtering we could add to questions to make search/discoverability much easier.

I rewrote/refactored most code in HTML5 Please. If you have any question, I'm here :)

👍 I always thought this repo has all the potential to grow far bigger than a Github markdown file -- not that I have anything against Github nor markdown, of course. Search/filter and labels is a good start. If the website src is on Github too, I'd definitely jump in and fork.

Where relevant though, how do we keep the two projects synchronized? Is it a manual process, or the (let's call it) markdown file will have some convention applied so that auto parsing is possible? Also, how about the translations?

@phanan Good points. Translations are tricky right now as they've all been done kind of piecemeal without much thought or organization. It would be good to have a more standardized way of contributing translations going forward as well as creating a build process for generating the markdown file along with any kind of website.

My initial thoughts are to have all the questions moved into a JSON data store and generate both a simple, single-page, website and the markdown file from that.

The idea with JSON actually reminds me of caniuse instead of HTML5 Please. I'm not a contributor of caniuse, but according to its documentation:

The data on the site is stored in a database. This data is periodically exported to the JSON files on GitHub. Once a change or new file here has been approved, it is integrated back into the database and the subsequent export files should be the same as the imported ones.

Are you taking a similar approach?

FYI, the way HTML5 Please handles this is quite easy. In the past we had everything in JSON but we switched over to YAML. The build process (powered by gulp) reads all files and compiles a static, simple HTML page.

forward as well as creating a build process for generating the markdown file along with any kind of website

Sure! 👍

Are you taking a similar approach?

I'm wondering why that would make sense. I believe caniuse is doing this mainly because they want to be able to query their 'database' without loading 100 JSON files. Don't think that's needed for us.

It's not well known but we do have a Github Page that is just a nicer looking version of the markdown file at http://h5bp.github.io/Front-end-Developer-Interview-Questions/.

@darcyclarke Added the site to the project's description:

I also notice that the list contains quite a mix of entry-level and senior-level knowledge questions. It would be nice for people to be able to filter by skill level (maybe voted on?). Or to filter by priority of knowledge. For example, some senior-level questions are important, and some are completely unimportant for all intents and purposes.

I think it makes sense to sort the questions by 'entry level' and 'advanced level'. as @darcyclarke said, Junio/senior roles are pretty arbitrary, but entry/advanced are not. +1 for this idea.

I am all on board with making this a more useable resource. One complaint that I have had for years is that, while these questions are a great help to the community, the question by themselves leave a lot to the imagination of the person asking the question.

To that end, I have started a new project where I am starting to go through all the questions and provide the answers https://github.com/blackfalcon/Front-End-Devloper__Book-of-Answers

My personal go-to is using Gitbook as this is a really easy static-site generator to work with. But all the content is using Markdown, so given the opportunity, all this content can be reused.

I would very much support the idea of updating this project to not only be a list of question, but questions with answers and additional resources.

Tidying!