Tog'ani yangi kitoblari chiqdi.
𝐖𝐡𝐚𝐭’𝐬 𝐢𝐧𝐬𝐢𝐝𝐞?
- An insider’s perspective on what interviewers are truly looking for and why.
- 101 real coding interview problems with detailed solutions.
- Intuitive explanations that guide you through each problem as if you were solving it in a live interview.
- 1,000+ diagrams to illustrate key concepts and patterns.
𝐓𝐚𝐛𝐥𝐞 𝐨𝐟 𝐂𝐨𝐧𝐭𝐞𝐧𝐭𝐬
Chapter 1: Two Pointers
Chapter 2: Hash Maps and Sets
Chapter 3: Linked Lists
Chapter 4: Fast and Slow Pointers
Chapter 5: Sliding Windows
Chapter 6: Binary Search
Chapter 7: Stacks
Chapter 8: Heaps
Chapter 9: Intervals
Chapter 10: Prefix Sums
Chapter 11: Trees
Chapter 12: Tries
Chapter 13: Graphs
Chapter 14: Backtracking
Chapter 15: Dynamic Programming
Chapter 16: Greedy
Chapter 17: Sort and Search
Chapter 18: Bit Manipulation
Chapter 19: Math and Geometry
Link to the book: https://geni.us/q7svoz
@kamoloff_log
𝐖𝐡𝐚𝐭’𝐬 𝐢𝐧𝐬𝐢𝐝𝐞?
- An insider’s perspective on what interviewers are truly looking for and why.
- 101 real coding interview problems with detailed solutions.
- Intuitive explanations that guide you through each problem as if you were solving it in a live interview.
- 1,000+ diagrams to illustrate key concepts and patterns.
𝐓𝐚𝐛𝐥𝐞 𝐨𝐟 𝐂𝐨𝐧𝐭𝐞𝐧𝐭𝐬
Chapter 1: Two Pointers
Chapter 2: Hash Maps and Sets
Chapter 3: Linked Lists
Chapter 4: Fast and Slow Pointers
Chapter 5: Sliding Windows
Chapter 6: Binary Search
Chapter 7: Stacks
Chapter 8: Heaps
Chapter 9: Intervals
Chapter 10: Prefix Sums
Chapter 11: Trees
Chapter 12: Tries
Chapter 13: Graphs
Chapter 14: Backtracking
Chapter 15: Dynamic Programming
Chapter 16: Greedy
Chapter 17: Sort and Search
Chapter 18: Bit Manipulation
Chapter 19: Math and Geometry
Link to the book: https://geni.us/q7svoz
@kamoloff_log
🔥20👍5⚡2❤1
Next VSCode extension - Draw.io
Tizim qanday ishlashini tushunish uchun uning arxitekturasini tushunish muhim.
Proyektingiz papkasida readme va high level diagramma fayllari bolishi jamoaga yangi qo'shilgan dasturchi loyihani osonroq va tezroq tushunishiga yordam beradi, yoki o'zingiz bir necha yildan keyin projectni ochib qaraganingizda kodni o'qishdan tushunish/eslashingizga yordam beradi.
1. VSCode ni oching
2. Extensions dan Draw.io ni qidiring
3. Install
4. <filename>.drawio fayl yarating va system diagrammalarni chizing
5. Enjoy
Use it or lose it!
@kamoloff_log
Tizim qanday ishlashini tushunish uchun uning arxitekturasini tushunish muhim.
Proyektingiz papkasida readme va high level diagramma fayllari bolishi jamoaga yangi qo'shilgan dasturchi loyihani osonroq va tezroq tushunishiga yordam beradi, yoki o'zingiz bir necha yildan keyin projectni ochib qaraganingizda kodni o'qishdan tushunish/eslashingizga yordam beradi.
1. VSCode ni oching
2. Extensions dan Draw.io ni qidiring
3. Install
4. <filename>.drawio fayl yarating va system diagrammalarni chizing
5. Enjoy
Use it or lose it!
@kamoloff_log
👍17🔥5
How did I master Algorithms and Data Structures?
Mastering algorithms and data structures is essential for anyone interested in computer science, software development and preparing for technical interviews.
Here is how I learned Algo & DS:
0. Choose a programming language
- You can choose any widely used programming language like Python, C++, Java, …. I have chosen Python.
- Practice basics until you are comfortable with syntax, control flow, functions and OOP.
1. Understand Fundamental Data Structures
- How do data structures work?
- How do they store/manage/retrieve the data?
- When to use them?
Data structures: arrays/lists, stacks and queues, linked lists, trees, maps, sets, heaps, graphs, …
2. Learn Core Algorithms
- Sorting: Learn how different sorting algorithms work and implement them yourself.
- Search: Learn how linear and binary search algorithms work, implement them yourself, and understand when to use one over the other.
- Divide and Conquer: Learn how to divide problem into subproblems, solve them independently, and combine results.
- Greedy: Learn to make optimal choices at each step for problem-solving.
To understand the topic and be able to solve problems I usually watch one video from Abdul Bari’s algorithms playlist
To better understand an algorithm and be able to answer "why/how" questions, I search for some articles online and read from multiple sources.
3. Practice Coding Problems
- Regularly solve problems on LeetCode, HackerRank, CodeSignal. I usually solve one problem in the morning before I start work.
4. Participate in Competitive Programming Contests
- Learn Under Pressure: Improve your problem-solving speed and accuracy by participating in contests.
5. Engage with the Community
- Join or create groups to study together. There are many groups on Telegram where people study together to prepare for coding interviews.
- Write a short post explaining your solution/approach and publish it in the solutions section of LeetCode.
6. Prepare for Technical Interviews
- Understand interview framework:
- Listen and understand the problem
- Ask clarifying questions
- Discuss potential approaches
- ...
- Mock Interviews: Consider using Pramp for your practice sessions. Pramp is an excellent platform to practice explaining concepts clearly, managing time effectively, and understanding diverse accents often encountered in interviews.
7. Stay Persistent and Reflect
- Periodically revisit topics to reinforce learning and analyze errors to identify areas for improvement.
Remember, mastering algorithms and data structures requires time and practice. Stay patient, keep coding, and don't hesitate to seek help when needed. Your effort will pay off in enhanced problem-solving skills and better career opportunities.
@kamoloff_log
Mastering algorithms and data structures is essential for anyone interested in computer science, software development and preparing for technical interviews.
Here is how I learned Algo & DS:
0. Choose a programming language
- You can choose any widely used programming language like Python, C++, Java, …. I have chosen Python.
- Practice basics until you are comfortable with syntax, control flow, functions and OOP.
1. Understand Fundamental Data Structures
- How do data structures work?
- How do they store/manage/retrieve the data?
- When to use them?
Data structures: arrays/lists, stacks and queues, linked lists, trees, maps, sets, heaps, graphs, …
2. Learn Core Algorithms
- Sorting: Learn how different sorting algorithms work and implement them yourself.
- Search: Learn how linear and binary search algorithms work, implement them yourself, and understand when to use one over the other.
- Divide and Conquer: Learn how to divide problem into subproblems, solve them independently, and combine results.
- Greedy: Learn to make optimal choices at each step for problem-solving.
To understand the topic and be able to solve problems I usually watch one video from Abdul Bari’s algorithms playlist
To better understand an algorithm and be able to answer "why/how" questions, I search for some articles online and read from multiple sources.
3. Practice Coding Problems
- Regularly solve problems on LeetCode, HackerRank, CodeSignal. I usually solve one problem in the morning before I start work.
4. Participate in Competitive Programming Contests
- Learn Under Pressure: Improve your problem-solving speed and accuracy by participating in contests.
5. Engage with the Community
- Join or create groups to study together. There are many groups on Telegram where people study together to prepare for coding interviews.
- Write a short post explaining your solution/approach and publish it in the solutions section of LeetCode.
6. Prepare for Technical Interviews
- Understand interview framework:
- Listen and understand the problem
- Ask clarifying questions
- Discuss potential approaches
- ...
- Mock Interviews: Consider using Pramp for your practice sessions. Pramp is an excellent platform to practice explaining concepts clearly, managing time effectively, and understanding diverse accents often encountered in interviews.
7. Stay Persistent and Reflect
- Periodically revisit topics to reinforce learning and analyze errors to identify areas for improvement.
Remember, mastering algorithms and data structures requires time and practice. Stay patient, keep coding, and don't hesitate to seek help when needed. Your effort will pay off in enhanced problem-solving skills and better career opportunities.
@kamoloff_log
👍24❤5✍1👏1
Uber Platform Security team outing
- Karting
- Laser Tag
- Dinner
📍SilverStone, Amsterdam
10.12.2024
@kamoloff_log
- Karting
- Laser Tag
- Dinner
📍SilverStone, Amsterdam
10.12.2024
@kamoloff_log
🔥28❤8👍7🎉1
Forwarded from Jakhongir Rakhmonov - IT
Help me help you
Dasturchilikda, va umuman boshqa sohalarda ham, tez o‘rganishning eng yaxshi usullaridan biri bu savollar so‘rash orqali. Ishxonadagi dasturchilardan, chat jipidi akadan, claude opadan, stockoverflowdan, mendan va boshqalardan savol so‘rash orqali tez va to‘g‘ri yo‘nalishda harakatlanish mumkin.
Shaxsan o‘zim va men bilgan ko‘pchilik yordam berishni chin dildan xohlaydi. Juda xursand ham bo‘ladi, agar yordam bera olsa. Lekin hech kim, qaytaraman hech kim, sizning ishingizni siz uchun qilib berishni xohlamaydi.
- Menga rezyume yozib bera olasizmi?
- Mana-bu ishni qila olmayapman, yordam bera olasizmi?
- Shu loyihaning arxitekturasini chizib bera olasizmi?
kabi savollar ochiqsachiga odamga yoqmaydi. Sababi bu va shunga o‘xshash savollarga to‘g‘ri va to‘liq javob berish uchun ancha bosh qotirish va vaqt sarflash talab qilinadi. Undan ham yomoni - savol berayotgan odam shu ishni qilishga yoki savolni to‘g‘ri yozishga erinayotganida.
Men ishda biror kishidan savol so‘rasam, odatda taxminan quyidagicha shaklda ifodalayman:
Salom Alexandro. Men loyihaning shu qismida bir muammoga duch kelyapman. Sen shu qismda juda ko‘p ishlar qilgan ekansan. Bilsang va yordam bera olsang zo‘r bo‘lar edi. Lekin agar boshqa odam yaxshiroq biladi deb o‘ylasang, iltimos o‘sha odamga meni jo‘natvor. Savolim: ‘Shu ishni qilmoqchiman. Uning uchun 3 ta yo‘ldan ketishim mumkin. 1 chisi bunaqa, 2 chisi shunaqa, 3 chisi esa munaqa. Menimcha 2 chi yo‘l eng zo‘ri, chunki shunday qilsam bunday bo‘ladi. Uni qilish mana bu yerda shunday o‘zgarish qilmoqchiman, lekin mana bunday xato chiqyapti. Bilasanmi, qayerda xato qilayotgan bo‘lishim mumkin?’
Mening maqsadim Alexandroga iloji boricha tez va to‘g‘ri javob bera olishi uchun sharoit yaratib berish. Butun contextni tushuntirib berish.
Umuman olganda birovdan nimanidir xohlasangiz, sizga u o‘sha narsani berishi uchun ishini osonlashtirishingiz kerak. Yana bitta misol. Odatda ishxonalarda promotion olishingiz uchun sizning manageringiz siz haqingizda report yozishi kerak va boshliqlarga siz promotionga arzishingizni isbotlab berishi kerak. Bu oson ish emas. Manageringiz siz qilgan ishlarni eslashi, aniq misollar berishi talab qilinadi. Siz manageringizga shu reportni yozib berish orqali katta yordam qilishingiz va promotion jarayonini ancha tezlashtirib berishingiz mumkin. Siz o‘zingiz nima ishlar qilganingizni manageringizdan yaxshiroq bilasiz har holda.
@jakhonrakhmonov
Dasturchilikda, va umuman boshqa sohalarda ham, tez o‘rganishning eng yaxshi usullaridan biri bu savollar so‘rash orqali. Ishxonadagi dasturchilardan, chat jipidi akadan, claude opadan, stockoverflowdan, mendan va boshqalardan savol so‘rash orqali tez va to‘g‘ri yo‘nalishda harakatlanish mumkin.
Shaxsan o‘zim va men bilgan ko‘pchilik yordam berishni chin dildan xohlaydi. Juda xursand ham bo‘ladi, agar yordam bera olsa. Lekin hech kim, qaytaraman hech kim, sizning ishingizni siz uchun qilib berishni xohlamaydi.
- Menga rezyume yozib bera olasizmi?
- Mana-bu ishni qila olmayapman, yordam bera olasizmi?
- Shu loyihaning arxitekturasini chizib bera olasizmi?
kabi savollar ochiqsachiga odamga yoqmaydi. Sababi bu va shunga o‘xshash savollarga to‘g‘ri va to‘liq javob berish uchun ancha bosh qotirish va vaqt sarflash talab qilinadi. Undan ham yomoni - savol berayotgan odam shu ishni qilishga yoki savolni to‘g‘ri yozishga erinayotganida.
Men ishda biror kishidan savol so‘rasam, odatda taxminan quyidagicha shaklda ifodalayman:
Salom Alexandro. Men loyihaning shu qismida bir muammoga duch kelyapman. Sen shu qismda juda ko‘p ishlar qilgan ekansan. Bilsang va yordam bera olsang zo‘r bo‘lar edi. Lekin agar boshqa odam yaxshiroq biladi deb o‘ylasang, iltimos o‘sha odamga meni jo‘natvor. Savolim: ‘Shu ishni qilmoqchiman. Uning uchun 3 ta yo‘ldan ketishim mumkin. 1 chisi bunaqa, 2 chisi shunaqa, 3 chisi esa munaqa. Menimcha 2 chi yo‘l eng zo‘ri, chunki shunday qilsam bunday bo‘ladi. Uni qilish mana bu yerda shunday o‘zgarish qilmoqchiman, lekin mana bunday xato chiqyapti. Bilasanmi, qayerda xato qilayotgan bo‘lishim mumkin?’
Mening maqsadim Alexandroga iloji boricha tez va to‘g‘ri javob bera olishi uchun sharoit yaratib berish. Butun contextni tushuntirib berish.
Umuman olganda birovdan nimanidir xohlasangiz, sizga u o‘sha narsani berishi uchun ishini osonlashtirishingiz kerak. Yana bitta misol. Odatda ishxonalarda promotion olishingiz uchun sizning manageringiz siz haqingizda report yozishi kerak va boshliqlarga siz promotionga arzishingizni isbotlab berishi kerak. Bu oson ish emas. Manageringiz siz qilgan ishlarni eslashi, aniq misollar berishi talab qilinadi. Siz manageringizga shu reportni yozib berish orqali katta yordam qilishingiz va promotion jarayonini ancha tezlashtirib berishingiz mumkin. Siz o‘zingiz nima ishlar qilganingizni manageringizdan yaxshiroq bilasiz har holda.
@jakhonrakhmonov
🔥18👍8
Matvatsa!!!
Hozirgina Forbes 30-dan 30 yoshgacha bo'lgan kishi bilan gaplashdim va juda hayratda qoldim.
U men bilan 30 yoshga to'lgunga qadar qanday qilib Top Tech kompaniyada VP bo'lganini aytib berdi:
1. Ertalab 4:30 uyg'onishi
2. Sovuq dush qabul qilishi
3. Minnatdorchilik jurnali ishlatishi (Gratitude journal)
4. Meditatsiya qilishi
5. Otasi Top Tech kompaniyaning egasi ekanligi
Read: Gratitude journal
Source: Reddit
@kamoloff_log
Hozirgina Forbes 30-dan 30 yoshgacha bo'lgan kishi bilan gaplashdim va juda hayratda qoldim.
U men bilan 30 yoshga to'lgunga qadar qanday qilib Top Tech kompaniyada VP bo'lganini aytib berdi:
1. Ertalab 4:30 uyg'onishi
2. Sovuq dush qabul qilishi
3. Minnatdorchilik jurnali ishlatishi (Gratitude journal)
4. Meditatsiya qilishi
5. Otasi Top Tech kompaniyaning egasi ekanligi
Read: Gratitude journal
Source: Reddit
@kamoloff_log
🤣83😁14🔥4
Junior va Senior dasturchilar orasidagi farq.
Junior yozgan code xato bo'lsa, uning xatoligini hamma tushuna oladi.
Senior yozgan code xato bo'lsa, uning xatoligini hech kim tushuna olmaydi.
@kamoloff_log
Junior yozgan code xato bo'lsa, uning xatoligini hamma tushuna oladi.
Senior yozgan code xato bo'lsa, uning xatoligini hech kim tushuna olmaydi.
@kamoloff_log
🤣68😁14🔥3
🤣23👀5❤1
Hello World application on Cloud be like:
- 1 Load balancer
- 3 web applications
- 2 databases
@kamoloff_log
- 1 Load balancer
- 3 web applications
- 2 databases
@kamoloff_log
😁42
😁46🔥9