https://github.com/meetmatt/organization-structure-optimizer
https://github.com/meetmatt/organization-structure-optimizer
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/meetmatt/organization-structure-optimizer
- Owner: meetmatt
- License: mit
- Created: 2025-02-26T14:22:34.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2025-02-27T18:21:15.000Z (11 months ago)
- Last Synced: 2025-02-27T19:12:53.445Z (11 months ago)
- Language: Java
- Size: 27.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Organization Structure Optimizer
## Goal
BIG COMPANY is employing a lot of employees. Company would like to analyze its organizational
structure and identify potential improvements. Board wants to make sure that every manager earns
at least 20% more than the average salary of its direct subordinates, but no more than 50% more
than that average. Company wants to avoid too long reporting lines, therefore we would like to
identify all employees which have more than 4 managers between them and the CEO.
## Task
You are given a CSV file which contains information about all the employees.
File structure looks like this:
```csv
Id,firstName,lastName,salary,managerId
123,Joe,Doe,60000,
124,Martin,Chekov,45000,123
125,Bob,Ronstad,47000,123
300,Alice,Hasacat,50000,124
305,Brett,Hardleaf,34000,300
```
Each line represents an employee (CEO included). CEO has no manager specified. Number of rows
can be up to 1000.
Write a simple program which will read the file and report:
- which managers earn less than they should, and by how much
- which managers earn more than they should, and by how much
- which employees have a reporting line which is too long, and by how much
Key points:
- use only Java SE (any version), and Junit (any version) for tests.
- use maven for project structure and build
- your application should read data from a file and print out output to console. No GUIs needed.
- code will be assessed on correctness, simplicity, readability and cleanliness
- If you have any doubts make a sensible assumption and document it
## License
MIT License
Copyright (c) 2025 Iurii Golikov