https://github.com/dmitryshlepkin/20230803-ds-nycschools
Coding Challenge: NYC Schools for a job offer at JP Morgan Chase & Co. Create a browser based or native app to provide information on NYC High schools.
https://github.com/dmitryshlepkin/20230803-ds-nycschools
Last synced: 3 months ago
JSON representation
Coding Challenge: NYC Schools for a job offer at JP Morgan Chase & Co. Create a browser based or native app to provide information on NYC High schools.
- Host: GitHub
- URL: https://github.com/dmitryshlepkin/20230803-ds-nycschools
- Owner: DmitryShlepkin
- License: mit
- Created: 2023-08-04T18:46:11.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-08-27T17:21:41.000Z (over 1 year ago)
- Last Synced: 2025-02-18T02:49:47.639Z (3 months ago)
- Language: Swift
- Homepage:
- Size: 482 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Coding Challenge: NYC Schools
GOAL: Verify candidate can provide a technical solution and follow instructions
### Requirements:
These requirements are rather high-level and vague. If details are omitted, it is because we will be happy with any of a wide variety of solutions. Don't worry about finding "the" solution. Feel free to be creative with the requirements. Your goal is to impress (but do so with clean code).
Create a browser based or native app to provide information on NYC High schools.
- Display a list of NYC High Schools.
* Get your data here: https://data.cityofnewyork.us/Education/DOE-High-School-Directory-2017/s3k6-pzi2
- Selecting a school should show additional information about the school
* Display all the SAT scores - include Math, Reading and Writing.
- SAT data here: https://data.cityofnewyork.us/Education/SAT-Results/f9bf-2cp4
- It is up to you to decide what additional information to displayWhen creating a name for your project, please use the following naming convention: YYYYMMDD-[Initials]-NYCSchools (Example: 20180101-MM-NYCSchools)
In order to prevent you from running down rabbit holes that are less important to us, try to prioritize the following:
### What is Important:
- Proper function – requirements met.
- Well constructed, easy-to-follow, commented code (especially comment hacks or workarounds made in the interest of expediency (i.e. // given more time I would prefer to wrap this in a blah blah blah pattern blah blah )).
- Proper separation of concerns and best-practice coding patterns.
- Defensive code that graciously handles unexpected edge cases.### What is Less Important:
- Demonstrating technologies or techniques you are not already familiar with.
### Bonus Points!
- Unit Tests
- Additional functionality – whatever you see fit.# Solution:
- MVVM Architecture
- Data driven UI
- Router
- DI
- Unit Tests