You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Rollup.js - A JavaScript bundler for building module formats like: (UMD, CJS, ESM). If you're not sure what a JavaScript bundler is, please check this article. Also, check the most popular JS bundlers for 2020 here.
Babel - Transpiles ES6+ syntax to older JavaScript environments
The goal of this assignment is to build a simplified jQuery-like capable library, called 🎤 kQuery.
Instead of asking you to design an API, we thought we would ask you to implement one. Designing an API takes time, experience, and we usually do it as a team.
Since this is not a real-life project, here is the context before you start:
Next week, we publish kQuery on GitHub and npm. Let's make sure it's ready for prime time both for end-users and contributors.
Expected time to complete: between 2 and 4 hours depending on experience.
Important: Algolia will never reuse your work. This assignment is for evaluation purposes only.
This gets all the DOM elements matching the CSS selector.item, replaces them with all the elements matching .itemReplacement, and then changes the CSS color property of the DOM element.
API
The API to implement is very similar to the jQuery API.
kQuery(cssSelectorString)
Select matching elements on the page.
Reads a CSS selector string
Returns a kQuery collection (kCollection or collection in this assignment)
domElements contains an array of DOM elements with two elements.
Requirements
Your assignment must respect the following rules:
Do not use any existing npm module for the implementation. You can still use any npm module for testing, tooling, and building.
Provide a README giving information on how to run tests.
Write unit tests with the tool of your choice.
The built library must work in all modern browsers and Internet Explorer ≥ 11.
Submit the assignment
Fork this private repository (it won't appear on your public GitHub profile, only visible by you)
Move README.md to assignment.md
Implement the module
Add your own README.md
When you are finished, send an email to the recruiter with the URL of your forked repository
Please do not open a pull request. Otherwise, other candidates will see your code and this won't be fair for you.
Please do not publish this assignment in a public repository. We want to protect the assignment original instructions, to keep getting awesome candidates while protecting your own privacy when applying for jobs.
Bonuses
You can add any feature, API method and options as long as you respect the requirements.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters