Companies usually want to test a specific area of knowledge. Quizzes are an engaging method to measure your expertise in the particular field.
That's why I created DevQuizzes, an online platform where you can test your knowledge across various DEV topics.
Content
Over the last 6 months I read a lot of official documentation and studied dozens of tutorials to create the content basis for initial launch.
I ended up creating over 500 questions in 20 categories.
Numbers in the parentheses show the questions in each quiz. Grey color represents the quizzes in progress, while white - all the new ones.
Percentages are shown just for completed quizzes, with green and red colors representing the passed and failed quizzes, respectively.
Quiz
When a category is selected, user gets presented with a quiz. By default unanswered questions are shown first.
Each question usually provides 2 to 4 possible answers. For the reference each question has a topic/title.
The next question is only available if the current question is answered. The previous questions are available as soon as there are some.
When provided, user can click a Hint button. This way an additional information about the question will be revealed.
Some questions do provide a code snipped, which the question is based on.
Progress
All the progress is stored in the Local storage.
Users are also able to clear the Local storage, for both - all quizzes at once or any particular quiz separately.
At any point during the quiz, the user has an access to the list of questions, meaning the questions can be manually picked or reviewed later.
Rewards
After completion of the quiz, user gets awarded ether gold (>90%), silver (>75%), bronze (>60%).
If user scores in the range from 60% to 40%, test is passed but no award is given. All the results below 40% fail.
Users have an option to share their achievements in social media.
Contributions
Everyone is welcome to submit questions via Airtable form.
Questions will be accepted unless they duplicate an existing content. The database will be updated daily.
Each contributor gets credited as well as included in the the most recent and/or most active contributors list in the Top section.
Final notes
The project is live, feel free you try it. The quiz platform is responsive, meaning it is easy to play on both desktop and mobile devices.
I'm hoping the project will help the community. I'm also looking forward to add questions and features to the platform itself in the future.
If you have any questions, feel free to reach out!
Top comments (44)
There are a few issues with the CSS quizz
1) The question about border is not valid because the order is not important. If you check the formal syntax (developer.mozilla.org/en-US/docs/W...) you will notice the use of || which mean any order so
solid grey 1px
is also valid (likegrey solid 1px
,grey 1px solid
, etc). You should also remove the quotes'
2) The question about
position:fixed
is not very accurate because the element will not always say fixed on scroll. There are some particular cases where this will break. So technically the answer can be false (related: stackoverflow.com/q/52937708/8620333)3) The question about
!important
is not very clear. Not sure what you meant by "user-defined" but !important simply increase the specificity and will not necessarily take precedence because we also need to check the selectors (we may have another rule with !important)4) The overflow question is also not accurate because we aren't obliged to set height (or width). There are a lot of cases where other properties enter in play. Example: jsfiddle.net/e2atgo8d/ (we don't have height and no block elements)
5) for the one about z-index, we cannot say that only z-index control the layers. A lot of other properties enter in play and we can control the layers without using z-index. I can do it with only transform. So z-index is one property among many that can have an impact on the painting order.
Thanks for the valuable input! πβ€
I will review the questions and edit them accordingly π
Cool project, I already testedπ. By the way just one suggestion, allows the person that pass a quiz to review their answers, giving them a short explanation on what their failed. In that way they learn.
Thanks so much for the feedback πβ€
I agree, currently most of the explanations just point to the right answer. Expanding more on them is def something I look to improve in the the future π
I found a few issues/misleading questions in the JavaScript quiz:
Q9:
The answer on the quiz is
onClick
, but I thinkclick
is the valid answer.element.onclick
is just one way to define a click handler, the other beingelement.addEventListener('click', () => {})
. Mozilla even calls it the "click event" (developer.mozilla.org/en-US/docs/W...)Q12:
The answer in the quiz is
True
, butDate
can also accept a string as a single parameter, which will be parsed. So I think this question is misleadingQ38:
I think the question was supposed to read "What character is used for the remainder operator in JS?"
May I suggest adding a way to provide feedback from within the site?
Overall though, it's a super nice way to test your knowledge!
Thanks for the input! ππ
Just fixed the questions you noted π
I might implement feedback from a site in the future π
Hi Madza, this project is super nice, congratulations.
I've taken the
git quizz
and found a little mistake, there is this question:The correct answer can be
git switch
orgit checkout
depending on thegit version
.git checkout
was introduced on version2.4
git switch
was introduced on version2.27.x
git switch
was added to make the commands more precise, (git checkout had too many responsibilities), now instead of usinggit checkout
to switch branchs or restore tree files we have two new commands:git switch and git restore
Thanks for the contribution! I've edited the question and included you in the Top contributors list ππ
Also you can submit edits directly from the platform... As soon as each question is answered there is an Edit option on the left. π
Two pieces of feedback:
Thanks for the feedback, appreciate that ππ
When I developed this I was not sure if this was something worth of creating auth for, cause the initial idea was to create something freely accessible and simple to test the knowledge π
Looks neat - how often have people been asken when SQL was invented?
I find that knowledge irrelevant when measuring how good I am.
How often? Never. The only reason I knew it was I was taught it in college in 1988 and remember it had been round for yonks already.
There has to be some advantage of being old, yes? :D
Neat project Madza - looks & works awesome!
Thanks a lot for trying out the project ππ
Thanks π Let's just assume, it goes out to show how rock solid it has been through the years, still being as relevant as ever πͺππ
Could add Python as one of the sections?
Python is def planned in the future π
For now I added it as submit option if users have ideas for questions π
Oh okay :)
This is pretty awesome! I did a similar thing in the past with the Quiz API website π
Why is github Auth system broken?
Iβll look into it
Awesome π I see you have extended the functionality by providing an API to embed quizzes on external websites π Very handy π
Found a question with a wrong answer
Thanks for the input ππ
What's the category and name, so I can fix it? π
Here a picture
dev-to-uploads.s3.amazonaws.com/up...
Thanks for the input! π Fixed the question.
I've also added a functionality for users to edit questions directly from the platform π
It would be nice to see the correct option if I answered wrong. After all, I'm trying to gain some new knowledge.
Thank you for your suggestion πβ€
Currently I have that part of functionality commented out in the code and the right answer is presented as a text after the question is answered π I will re-consider your idea for sure π‘π