LeetCode Solutions
Kanalga Telegram’da o‘tish
Engineering journey Reliable resources and questions given in M/FAANG companies.
Ko'proq ko'rsatish1 300
Obunachilar
Ma'lumot yo'q24 soatlar
Ma'lumot yo'q7 kun
-130 kun
Postlar arxiv
1 300
Repost from @Rustam-Z⚡️
In your free time, try to build something from this list.
Try to understand the problem first, find the ways of solving the problem, compare your ideas and find tradeoffs.
Overall, don't do something just for resume, but build something you are interested in.
https://www.linkedin.com/posts/johncrickett_the-best-way-to-level-up-your-coding-skills-activity-7134526213737312256-17z5?utm_source=share&utm_medium=member_android
1 300
Repost from GDG Tashkent
⚡️ Registration for the DevFest Tashkent '23 is OPEN!
It's that time of the year - DevFest is coming to Tashkent once again, this time on an even larger scale!
GDG DevFest is a global developer conference hosted by Google Developer Groups (GDGs) around the world. It is a free, one-day event that features talks, workshops, and hands-on sessions on a wide range of technologies and products.
Join us for a day of unparalleled talks and networking as we bring under one roof the brightest minds in the local and international tech community.
Why you should come to DevFest Tashkent '23?
🚀 BIGGEST SPEAKERS
Mark McDonald and Martin Görner from Google, Tilek Mamutov from Outtalent, Jitendra Gupta from KPMG and other top speakers, including 9(!) GDE(Google Developer Experts)s in Machine Learning and other spheres will share their first-hand experience with you!
🚀 BIGGEST VENUE
Renowned Panorama Cinema Palace will be your venue for the upcoming DevFest Tashkent '23!
🚀 BIGGEST NETWORKING
Last year we had more than 2000 participants, and this year, we expect this number to go over 3000!
Hurry up to get your FREE TICKET via the link below:
https://devfest.gdgtashkent.uz/
👀 Date: November 25, 2023
🕙 Time: 09:00 - 18:00
📍 Venue: Panorama Cinema Palace
🙌 See you at DevFest Tashkent '23!
@gdgtashkent
1 300
Repost from Vohid Karimov
Shu sababli ham Westminsterda o'qiyotganimda INHAda o'qiyotgan o'rtoqlarimga havas qilardim.
Chunki web, mobile, va boshqa high-level texnologiyalarni o'zingiz o'rganib olsangiz bo'ladi. Fundamental Computer Science mavzularini esa professorlar bilan o'rganish osonroq va qiziqarliroq (albatta yaxshi professor bo'lsa).
Shuning uchun ham universitetni bitirganimdan keyin 2-3ta yaqin dasturchi o'rtoqlar bilan shu fundamental bilimlarni top universitetlarda yozib olingan CS darslaridan o'rganishni davom ettirganmiz.
Sizga ham shunday kurslar qiziq bo'lsa, Awesome CS Courses github reposini foydalanishni maslahat beraman.
1 300
MIT Lectures — Distributed Systems
• RPC and Threads
• Google File System
• Replication and Fault Tolerance
• Cache consistency and Memcached
• Zookeeper
• Big Data and Spark
1 300
Backtracking Patterns:
Sliding Window patterns:
Sliding Windows on Strings Pattern:
Two Pointers Patterns:
Substring Problem Patterns:
Tree Patterns:
Tree Iterative Traversal:
Dynamic Programming Patterns:
Binary Search Patterns:
Monotonic Stack Patterns:
Bit Manipulation Patterns:
Graph Patterns:
DFS + BFS Patterns (1):
DFS + BFS Patterns (2):
14 Coding Interview Patterns:
1 300
Repost from @Rustam-Z⚡️
#system_design
🌐 𝐇𝐨𝐰 𝐭𝐨 𝐚𝐧𝐬𝐰𝐞𝐫 𝐢𝐧 𝐚 𝐒𝐲𝐬𝐭𝐞𝐦 𝐃𝐞𝐬𝐢𝐠𝐧 𝐈𝐧𝐭𝐞𝐫𝐯𝐢𝐞𝐰
1. For a Read-Heavy System - Consider using a Cache.
2. For a Write-Heavy System - Use Message Queues for async processing
3. For a Low Latency Requirement - Consider using a Cache and CDN.
4. Need 𝐀tomicity, 𝐂onsistency, 𝐈solation, 𝐃urability Compliant DB - Go for RDBMS/SQL Database.
5. Have unstructured data - Go for NoSQL Database.
6. Have Complex Data (Videos, Images, Files) - Go for Blob/Object storage.
7. Complex Pre-computation - Use Message Queue & Cache.
8. High-Volume Data Search - Consider search index, tries or search engine.
9. Scaling SQL Database - Implement Database Sharding.
10. High Availability, Performance, & Throughput - Use a Load Balancer.
11. Global Data Delivery - Consider using a CDN.
12. Graph Data (data with nodes, edges, and relationships) - Utilize Graph Database.
13. Scaling Various Components - Implement Horizontal Scaling.
14. High-Performing Database Queries - Use Database Indexes.
15. Bulk Job Processing - Consider Batch Processing & Message Queues.
16. Server Load Management & Preventing DOS Attacks- Use a Rate Limiter.
17. Microservices Architecture - Use an API Gateway.
18. For Single Point of Failure - Implement Redundancy.
19. For Fault-Tolerance and Durability - Implement Data Replication.
20. For User-to-User fast communication - Use Websockets.
21. Failure Detection in Distributed Systems - Implement a Heartbeat.
22. Data Integrity - Use Checksum Algorithm.
23. Efficient Server Scaling - Implement Consistent Hashing.
24. Decentralized Data Transfer - Consider Gossip Protocol.
25. Location-Based Functionality - Use Quadtree, Geohash, etc.
26. Avoid Specific Technology Names - Use generic terms.
27. High Availability and Consistency Trade-Off - Eventual Consistency.
28. For IP resolution & Domain Name Query - Mention DNS (Domain Name System).
29. Handling Large Data in Network Requests - Implement Pagination.
30. Cache Eviction Policy - Preferred is LRU (Least Recently Used) Cache.
1 300
Repost from Vohid Karimov
Summer 2024 uchun Googleda internship o'rinlar uchun applicationlar ochildi:
— Software Engineering, Site Reliability Engineering Intern, 2024
— Bachelor's and Master’s degree
— Application dates: Sep 18th, 2023 - Oct 27th, 2023
— Locations: Aarhus, Budapest, Dublin, London, Munich, Paris, Stockholm, Zurich
— Coding experience: C++, Java, Python, or Go
— Software Engineering, Site Reliability Engineering Intern, 2024
— Bachelor's and Master’s degree
— Application dates: Sep 18th, 2023 - Oct 27th, 2023
— Locations: Bucharest, Warsaw, Kraków
— Coding experience: C++, Java, Python, or Go
— Research Intern, 2024
— PhD degree
— Application dates: Sep 18th, 2023 - Oct 27th, 2023
— Locations: London, Zurich, Berlin, Munich, Grenoble, Paris, Amsterdam
— Coding experience: Java, C++, Python, or Go
— Student Training in Engineering Program, STEP 2024
— Bachelor's and Master’s degree
— Application dates: Sep 18th, 2023 - Oct 27th, 2023
— Locations: London, Zurich, Munich, Paris, Dublin
— Coding experience: Java, C++ or Python
— Student Training in Engineering Program, STEP 2024
— Bachelor's and Master’s degree
— Application dates: Sep 18th, 2023 - Oct 27th, 2023
— Locations: Bucharest, Warsaw
— Coding experience: Java, C++ or Python
— va boshqa intern o’ringlari
Internship o’rinlari aslida 18chi sentyabrda ochildi. Men habar berishga sal kechikdim. Hechdan ko’ra kech, topshiramiz! 🎯
Googlerlar orasida ko’proq o’zbeklarni ko’rishni xoxlayman. Savollar bo’lsa shu post ostida qoldiring, javob berishga harakat qilaman.
1 300
Repost from ULUSHAHIVE
“Let’s Crack It!” challengening 2-qismi 16-oktabr (dushanba) kunidan boshlanadi. Ungacha challengening 1-qismida register qilmagan bo’lsangiz @helpPeopleToGrow ga quyidagi ko’rinishda xabar yuboring:
Let’s Crack It!
Ism Familiya
google pochtangiz
To’rt haftalik problem solvingda haftasiga oltitadan masala ishlab boramiz va bu masalalar quyidagi mavzularga tegishli bo’ladi:
- Graph theory
- Bit manipulation
- Arrays & Implementation
- Strings
- Two pointers
- Greedy
Note: 1-qismda register qilib biron marta qatnashmaganlar standingsdan chiqarib yuboriladi. Agar bu safar qatnashishni xohlasangiz avvalroqdan bu haqida yozib qo’ying.
Have a nice weekend! 😉
1 300
GitHub repos for software engineering job interviews. Covers:
— Algorithms
— System design
— Data structures, and more.
1. System-design-primer
2. Coding-interview-university
3. Interview
4. Tech-interview-handbook
5. Awesome-interview-questions
original source
1 300
Coding tip by Alex Nguyen
0. Start with the naive solution. It shows you understand the problem.
1. Think out loud, even if it's quiet. It lets the interviewer help out if you get stuck.
2. Write your own test cases. Write at least 3 test cases to show you understand the problem.
3. Outline your algorithm on the IDE. It makes it easier for everyone to follow along.
4. Refer back to each step of your algorithm as you're coding. This shows you can walk the walk.
5. Dry run your code line by line against your test cases. Dont wait for the interviewer to ask you to do it.
6. Offer to optimize the algorithm. Point out the bottleneck first then explain what you need to do differently.
7. Solve for the running time. Solve it throughout your code then explain your nested for loop makes it O(n^2)
8. Use good variable names. Thing1 and thing2 aren't good things to write.
9. Abstract functions away. Don't spend the entire interview on a parsing function that isn't important to the algorithm
10. Do it for the interviewer. Keep checking in with the interviewer if they understand what's going on or if you need to walk them through your ideas.
Doing 300+ leetcode questions will get you half way there
The other half is presenting how much you know.
1 300
Repost from ULUSHAHIVE
Bir dasturchi foydali deb topgan yo’l va resurslar har doim ham boshqalarga birdek ma’qul kelmasligi mumkin. Shuning uchun sizlarda ko'proq option paydo bo'lishi uchun “Let's Crack It!" challengening I, II haftalarida o’z hissasini qo'shgan Davlatbek Mirakilov ning DP ni o'rganish bo'yicha foydali deb topgan resurslarini share qilaman.
Ulardan tashqari albatta “Introduction to algorithms” (ko’cha tilida CLRS) kitobiga ko'z yugurtishni maslahat beraman. Kitobning elektron versiyasini topishga qiynalsangiz @helpPeopleToGrow ga yozing, tashlab beriladi 😉
DP learning resources:
1) Cses fi book chapter 7
2) Usaco guide
3) Pavel Mavrin lectures (semester 1, lectures 10-13)
DP practice for everyone:
1) Cses fi problemset - DP section
2) AtCoder DP contest
3) CF DP GYM (easier)
4) CF DP GYM (harder)
5) ACMP DP secton
Leetcode and Interviewbit also have a bunch of DP tasks.
1 300
Repost from ULUSHAHIVE
“Lets Crack It!” bir oylik challengining summarysi:
Har bir haftada bitta mavzu tanlanib, shu mavzuga doir 6 tadan masala ishlandi va live video editorial ko'rinishida tushuntirib berildi.
Week 1 - Dynamic Programming I
-> Edit Distance
-> Best Time to But and Sell Stocks II
-> Potions
-> Min Jumps Array
-> Rod Cutting
-> Word Break
Week 2 - Graph Theory
-> Largest Distance Between Nodes of a Tree
-> Clone Graph
-> Water Flow
-> Convert Sorted Tree to a Binary Search Tree
-> Capture Regions on a Board
-> Word Ladder
Week 3 - Binary Search
-> Search for a Range
-> Painter’s Partition Problem
-> Median of Array
-> Allocate Books
-> Implement Power Function
-> Find a Peak Element
Week 4 - Dynamic Programming II
-> Intersecting Chords in a Circle
-> Distinct Subsequences
-> Longest Valid Parentheses
-> Repeating Subsequence
-> Submatrices With Sum Zero
-> Increasing Path in Matrix
Foydali deb topsangiz, do’stlaringiz va yaqinlaringizga ulashing! 😉
👉 @Code_With_Ulugbek 👈
1 300
Dynamic programming has two terms: "memoization" and "tabulation." These are techniques used to optimize recursive algorithms by storing and reusing computed results to avoid redundant calculations.
1. Memoization:
— Memoization is an optimization technique used in dynamic programming to reduce redundant computations in recursive algorithms.
— In a memoized algorithm, you store the results of expensive function calls and return the cached result when the same inputs occur again.
Typically, a data structure like an array or dictionary (often called a "memoization table") is used to store computed results for specific inputs.
— Memoization is particularly useful when solving problems using recursive algorithms with overlapping subproblems.
2. Tabulation:
— Tabulation is another optimization technique in dynamic programming that involves solving a problem bottom-up by filling in a table or array iteratively.
— In tabulation, you start with the simplest subproblems and gradually build up to the final problem by storing intermediate results in a table.
— Tabulation is often used when you can define a clear order in which subproblems should be solved, and it doesn't require recursive function calls.
— This technique is useful for problems where the recursive approach may lead to a large number of function calls and result in inefficient time or space complexity.
1 300
- Dynamic Programming FreeCodecamp course, Abdul Bari courses and Jenny's Lectures
- DP patterns for Coding Interviews list
- DP pattern for Coding Interviews video
#dp #Interview #pattern
1 300
Repost from ULUSHAHIVE
IOI links
Official site: ioinformatics.org
Former site: ioi.te.lv/index.shtml
Statistics: stats.ioinformatics.org
IOI regulations: ioinformatics.org/page/regulations/9
Future IOIs:
- ioi2024.eg
- ioi2025.bo
- ioi2026.uz
All tasks (with translations & editorials):
1. ioi.te.lv/contest/prev.shtml
2. ioinformatics.org/page/contests/10
3. acm.math.spbu.ru/trains/ioi (russian translations till 2014)
Where to submit:
1. oj.uz/problems/source/22
2. ioi.contest.codeforces.com
3. dmoj.ca/problems/?category=5
Other useful links:
oichecklist.pythonanywhere.com
t.me/solvemprobler
ioi syllabus - which topics&algorithms you should learn, and what you shouldn't:
ioinformatics.org/files/ioi-syllabus-2023.pdf
by Dilshodbek
