Skip to content

corva-dev-advocate-coding-test πŸš€ Coding test for Corva Developer Advocate candidates. Candidates must query a public API with pagination, process the data, and save it as a CSV file.

Notifications You must be signed in to change notification settings

corva-ai/corva-dev-advocate-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 

Repository files navigation

corva-dev-advocate-challenge

corva-dev-advocate-coding-test

πŸš€ Coding test for Corva Developer Advocate candidates. Candidates must query a public API with pagination, process the data, and save it as a CSV file.


Developer Advocate Coding Test

Objective:

This test will assess your ability to:

  • Query large amounts of time-based data from a public API.
  • Handle pagination when fetching large datasets.
  • Process and export data to a .csv file.
  • Implement logging for debugging and monitoring.
  • Write clear, well-documented code in Python, JavaScript, or TypeScript.

Task:

Write a Python, JavaScript, or TypeScript script that:

  1. Fetches time-based data from a public API that supports large datasets and pagination.
  2. Implements pagination to handle API limits and retrieve all available data.
  3. Processes the data to extract relevant fields.
  4. Saves the data to a CSV file in a structured format.
  5. Includes logging to track progress, errors, and API call status.
  6. Uses clear code comments to explain the logic.

Public API Suggestions:

You may choose any public API with time-based data and pagination. Here are some suggestions:

  • NASA API (api.nasa.gov) – e.g., asteroid data, Earth observation.
  • OpenWeather API (openweathermap.org/api) – e.g., historical weather data.
  • COVID-19 Data API (covid19api.com) – time-based case tracking.
  • Financial Data API (alphavantage.co) – stock market time-series data.
  • Any other public API of your choice.

Requirements:

  • Use Python (requests, csv, pandas), JavaScript (fetch, fs), or TypeScript.
  • Implement pagination (e.g., handling next page URLs, offset parameters, etc.).
  • Save results to a CSV file with properly formatted columns.
  • Include logging to track API requests and errors.
  • Submit a Python script (.py), JavaScript file (.js), or TypeScript file (.ts).
  • Write comments and docstrings to explain the code.

Use of AI Tools

You are allowed to use AI tools such as ChatGPT, GitHub Copilot, or others to assist you in completing this task. However, you must:

  • Understand and validate the output before using it.
  • Ensure all code is properly documented to explain what it does.
  • Explain in your submission if and how AI tools helped you solve the problem.

Bonus (Optional, but Encouraged):

  • Use pandas (Python) or similar data-processing libraries for cleaning and analyzing the data.
  • Implement basic error handling (e.g., handling failed API requests, retrying on timeouts).
  • Optimize API calls to respect rate limits (if applicable).

Submission Instructions:

Submit your completed Python (.py), JavaScript (.js), or TypeScript (.ts) script along with the generated .csv file.

Include a brief README or explanation (can be a text block in the script) describing:

  • The API used
  • How pagination was handled
  • Any challenges encountered
  • How AI tools assisted you, if used

Example Output (CSV Format)

For example, if fetching weather data, your CSV might look like:

Timestamp Temperature Humidity City
2023-01-01 12:00 72Β°F 40% New York
2023-01-02 12:00 68Β°F 45% New York

Evaluation Criteria:

  • Correctness – Does the script correctly fetch and store paginated data?
  • Efficiency – Is pagination handled properly to retrieve all data?
  • Readability – Is the code well-structured and documented?
  • Logging – Are logs useful for debugging API requests?
  • Output Quality – Is the CSV well-formatted and complete?
  • AI Tool Usage Explanation – If AI tools were used, is there a clear explanation of their role in the solution?

About

corva-dev-advocate-coding-test πŸš€ Coding test for Corva Developer Advocate candidates. Candidates must query a public API with pagination, process the data, and save it as a CSV file.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published