GithubHelp home page GithubHelp logo

Comments (5)

fejes713 avatar fejes713 commented on May 17, 2024 2

This needs curation, and people arguing over how difficult a question is leads to chaos. That kind of makes it hard, so we would need to not allow pull requets to modify them and would instead have to allow people to vote for them over time with a reaction on a github issue(so authentication is taken care of) for the question in comment and lock comments to maintainers, but allow public to react(if possible)

This pretty much sums it all up. There is definitely going to be a lot of problems with deciding which questions goes where in terms of difficulty.

For now, we can just generate 10 random questions just for fun. Real interviews could come into play later down the line when we have over 100questions and someone to maintain and sort them properly.

from 30-seconds-of-interviews.

Chalarangelo avatar Chalarangelo commented on May 17, 2024 1

First off, this whole idea sounds like it qould most likely require a server at some point.

With that out of the way, I think generating a random interview is not exactly the most fair way to go about this for a few reasons:

  • What is easy for one junior dev is hell for another. Even though simple concepts are usually simple enough for most people, you can't really know what kind of experience and/or background everyone has and what role they are applying. This, in turn, could lead to people feeling inadequate before a job interview.
  • Interviews are bound to roles and/or tech stacks. This means that generating a random interview for a web developer might be irrelevant to the position they are applying for, as the algorithm might not generate questions relevant to that role and/or tech. A PHP backend dev role is extremely different from a Node/Express backend dev role, who is in turn very different from a Node + some other tech backend role.
  • Maintaining dificulty for questions and weighing them is going to be a bit tricky, especially when a lot of people start arguing about their difficulty and submitting PRs to "fix" it.
  • Questions could get outdated and/or their difficulty could change dynamically over time. Prime example of this are Promises which were all the rage a couple of years back and most people had not idea how to use them. Nowadays, they are still very much relevant and most people I know have at least some experience with them.

Based on my above points, I have a counter-proposal to make:

We can start adding a difficulty score to questions and see how the whole idea turns out. It might not be as complex and problematic as I think and we can always come back to this and use a generator to create interviews.

Apart from that, we can also make some static pages that we curate for specific role descriptions and tech stacks and present questions in a nice page that could help someone land a job. That sounds way less complex and would make use of the tag system, as we could tag a question with something like node, webdev, junior, backend and then add it in all those interviews. If we get too many questions in each tag, we can still use random generators to not show the whole thing, but just 10-15 questions per page.

TL;DR: Sounds way too complex, why don't we stick to proper tagging and curating interviews per role/positon/tech for now? Add the difficulty ratings as an extra and see if they are worth it.

from 30-seconds-of-interviews.

skatcat31 avatar skatcat31 commented on May 17, 2024 1

Actually this could be done with a client side script. If they clear their cookies we would lose track of progress, but it would be entirely doable client side with those storage mediums(isn't JSON great?)

The parts would be:

  1. Question list script(generate and save the question list and their answers as an initial state)
  2. Question display script(display the question and record their answer)
  3. Results calculation script(calculate and show their result, offer a print or copy, make them the storage medium)

Any modification to the storage would mean an immediate loss of progress and having to start over, but since we aren't going to be storing the results etc... etc... you can see where this train of thought is going.

However @Chalarangelo hit the nail on the head:

This needs curation, and people arguing over how difficult a question is leads to chaos. That kind of makes it hard, so we would need to not allow pull requets to modify them and would instead have to allow people to vote for them over time with a reaction on a github issue(so authentication is taken care of) for the question in comment and lock comments to maintainers, but allow public to react(if possible)

Otherwise this will require a server. It should be doable with the abilities that Github provides, but would mean manual labor time, or a server to aggregate and collate based on an algorithm

from 30-seconds-of-interviews.

fejes713 avatar fejes713 commented on May 17, 2024

@Chalarangelo I like the idea about static pages designed for specific job roles. But, as you already said, this is not something that is urgent so we can postpone this feature for some time(I will have time over the summer so I could implement something like that).

from 30-seconds-of-interviews.

fejes713 avatar fejes713 commented on May 17, 2024

I am closing this, as discussed above there is still no need for this as it would be very hard to maintain. The page with random questions will be implemented soon. 😄

from 30-seconds-of-interviews.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.