Skip to content

๐Ÿ python practice | questions, concepts, system design, concurrent

Notifications You must be signed in to change notification settings

98yejin/practice-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

34 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Practice Python ๐Ÿ‘ฉโ€๐Ÿ’ป

Contents

  • Python Concurrency and Parallelism Problems : good for understanding the concept of concurrency and parallelism
    • Concurrent Web Scraper link
    • Parallel File Processing link
    • Concurrent Producer-Consumer link
  • Concurrent Programming ( Details ) : basic concepts of concurrent programming
  • Datastructures ( Details ) : basic data structures and their implementations
  • Algorithms ( Details ): basic algorithms and their implementations
  • FAQs : frequently asked questions (not only Python)

Python Concurrency and Parallelism Problems

  • Objective: Implement a concurrent web scraper that retrieves data from multiple web pages simultaneously.
  • Requirements:
    • Use the requests library to fetch web pages.
    • Utilize the asyncio module to achieve concurrency.
    • Scrape data from a list of URLs concurrently.
    • Process and store the scraped data.
  • Extension: Implement rate limiting to avoid overloading the target website.
  • Objective: Develop a program that processes a large set of files concurrently.
  • Requirements:
    • Accept a directory path as input.
    • Use the multiprocessing module to process files concurrently.
    • Apply a specific operation to each file (e.g., compression, encryption, or analysis).
    • Display the progress and status of the file processing.
  • Extension: Implement error handling and logging for file processing failures.
  • Objective: Implement a concurrent producer-consumer system using threads.
  • Requirements:
    • Create a shared queue to store data items.
    • Implement producer threads that generate and add data items to the queue.
    • Implement consumer threads that retrieve and process data items from the queue.
    • Use synchronization primitives (e.g., locks or semaphores) to ensure thread safety.
    • Display the production and consumption of data items.
  • Extension: Implement a mechanism to gracefully terminate the producer and consumer threads.

Concurrent Programming ( Details )

index concurrent programming link
1 barriers link
2 fizzbuzz link
3 fizzbuzz_async link
4 fizzbuzz_multithreading link
5 future link
6 helloworld link
7 interface link
8 locks link
9 quickstart link
10 semaphores link
11 sharedresources link

Datastructures ( Details )

index datastructure link
1 Queue link
2 Hashtable link
3 Linked list link
4 Stack link
5 Tree link
6 Minheap link
7 trie link
8 merge sort link

Algorithms ( Details )

index algorithm link
1 BFS link
2 DFS link
3 Binary Search link
4 Quick Sort link

FAQs ( Details )

About

๐Ÿ python practice | questions, concepts, system design, concurrent

Topics

Resources

Stars

Watchers

Forks

Languages