The coding challenge is based on the culture assessment that you have already taken. The goal of this assessment is to evaluate someone’s culture using a methodology developed by Charles O’Reilly at the Stanford GSB Institute for Organizational Behavior.
This methodology measures 6 dimensions to understand an individual’s culture norms:
- Adaptability: Readily takes advantage of new opportunities
- Results-orientation: Gets things done
- Collaboration: Is a great team player
- Attention to detail: Values precision and accuracy
- Principles: Holds high ethical standards
- Customer-orientation: Always keeps the customer in mind
- The assessment consists of 30 questions in total.
- The questions of the assessment should give two options to choose from. Each
of these options should be one of the provided answers (see
dimensions.js). This is called Ipsative testing. - The Ipsative questions should be as the following example:
Pick the answer that describes you best: (this question title is the same for all questions)
- I am innovative (answer 1, related to Adaptability)
- I am honest (answer 2, related to Integrity)
- Every combination of Dimensions should appear twice during the assessment. For example, the user must be asked twice to choose between Adaptability and Collaboration.
- Each time a user chooses an answer, his score for the corresponding dimension is incremented by 1.
- Each label for the answers should only appear once in the assessment (no repetition).
- The order in which the questions appear should be randomized.
- The result of the assessment is represented by the amount of times each dimension was chosen. Here is a JSON example:
{
"Adaptive": 3,
"Integrity": 7,
"Collaborative": 5,
"Result": 5,
"Customer":8,
"Detail": 2
}- This repository uses a simple Jest boilerplate to write unit tests. Feel free to use any other testing framework, as long as you can provide coverage analysis.
- Have >90% of code coverage. A suggested test suite is provided in
assessment.test.js, feel free to rewrite it if you would rather start with your own tests. - You are allowed to use any third party libraries.
- You do not have to build a UI or an API/Server, having a self descriptive test suite is enough.
- No linter or lint config has been included. Feel free to add one if it makes you more efficient.
- Make use of modern JavaScript syntax. The test code goes through babel using the
envpreset.
Without any configuration options, @babel/preset-env behaves exactly the same as @babel/preset-latest (or @babel/preset-es2015, @babel/preset-es2016, and @babel/preset-es2017 together).
- Fork this repository (or clone it),
- Complete the challenge (should take about 1-2 hours),
- Feel free to ask any questions that you have,
- Submit the result either by sharing your fork or sending your local repository as a compressed archive via email/gist.
yarn installyarn test
# show coverage
yarn test:coverOr you can use built-in watch mode (coverage is also included in watch mode):
yarn test:watch