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