An open API service indexing awesome lists of open source software.

https://github.com/ericgitangu/oa

Online Assessments. The DSA section is particularly helpful and so is my other repo: https://github.com/ericgitangu/amazon-spring-23
https://github.com/ericgitangu/oa

Last synced: about 1 month ago
JSON representation

Online Assessments. The DSA section is particularly helpful and so is my other repo: https://github.com/ericgitangu/amazon-spring-23

Awesome Lists containing this project

README

          

# OA Coding Tech Interview Preparation

![Logo](https://lh3.googleusercontent.com/a/ACg8ocKvFjk3vfOWHRr8rE-C8cyqeCb5lvi2oQmVZvoqf9uYOv9iUydJ=s288-c-no)

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)

A comprehensive collection of Python scripts designed to help you prepare for technical interviews, particularly for Online Assessments (OAs).

## Table of Contents

- [About](#about)
- [Installation](#installation)
- [Usage](#usage)
- [Scripts](#scripts)
- [DSA](#DSA)
- [Contributing](#contributing)
- [License](#license)
- [Author](#author)
- [PR and Bug Reports](#pr-and-bug-reports)

## About

Pruning the grind leetcode type questions to patterns once you crack you will ready for any OA interview or just brush up on rusty concepts. Happy coding!

## Installation

Clone the repository and install the required dependencies:

```bash
git clone https://github.com/your-username/oa-coding-tech-interview-prep.git
cd oa-coding-tech-interview-prep
python -m venv my_virtual_env
source my_virtual_env/bin/activate
pip install -r requirements.txt
```

## Usage

Each script can be run independently. For example:

```bash
python multiplication_algorithms.py
```

## Scripts

### Graph Algorithms
1. **bfs.py**: Demonstrates Breadth-First Search (BFS) algorithm implementation on a graph.
2. **dfs.py**: Implements the Depth-First Search (DFS) algorithm for graph traversal.
3. **graph_traversal.py**: Finds all possible paths between two nodes in a graph.
4. **shortest_path_collections_itertools.py**: Implements shortest path algorithms using collections and itertools.

### Data Structures
5. **min_max-heap.py**: Implements min-heap and max-heap data structures and their operations.
6. **linked_lists.py**: Implements and traverses a linked-list.
7. **double_linked_list.py**: Implements and traverses a doubly-linked list.
8. **circular_linked_lists.py**: Implements and traverses a circular linked list.

### Dynamic Programming
9. **dynamic_programming_memoization.py**: Solves the "Unique Paths" problem using dynamic programming with memoization.
10. **travelling_salesman.py**: Solves the Travelling Salesman Problem using dynamic programming.
11. **longest_palidromic_string.py**: Finds the longest palindromic substring in a given string.

### String Processing
12. **text_search_algoritms.py**: Implements various text search algorithms.
13. **multiplication_algorithms.py**: Implements various multiplication algorithms.

### Concurrency
14. **chat_room.py**: Simulates a real-time chat room with concurrent user interactions.
15. **meeting_scheduler.py**: Implements a concurrent meeting scheduler.
16. **dinning_philosophers_with_concurrency.py**: Implements the dining philosophers problem.
---
More examples in the link in the DSA section

## DSA

Comprehensive DSA Guide [included here](https://github.com/ericgitangu/OA/blob/main/dsa.md)

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request. A good place to start would be to add tests then incoporate them into our CI/CD or alternatively, write a script to run tests to run against our implementations including testing our DSA guide examples. TODO: add tests.

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

## License

This project is licensed under the MIT License.

## Author

Created with ❤️ by Eric Gitangu - [Deveric](https://developer.ericgitangu.com). A code-blooded Software Engineer a pythonista with an array of various stack and techs. Intetests ML, CyberSecurity (MLSecOps), experience Full Stack developer 8+ years with various techs. **LinkedIn** [https://linkedin.com/in/ericgitangu](https://linkedin.com/in/ericgitangu), let's connect and feel free to contribute, I will continue building on this repo and hopefully y'all too with help me prune out the grind PRs welcomed!.

## PR and Bug Reports

For any PRs or bug reports, please use the following contact information:

- **Email**: [developer.ericgitangu@gmail.com](mailto:developer.ericgitangu@gmail.com)
- **Website**: [https://developer.ericgitangu.com/](https://developer.ericgitangu.com/)