LeetCode Solutions – Telegram
LeetCode Solutions
1.26K subscribers
71 photos
1 video
14 files
161 links
Engineering journey

Reliable resources and questions given in M/FAANG companies.
Download Telegram
Forwarded from Nodir's notebook
There still might be a positive scenario where software engineering is outsourced to Uzbekistan. I'll describe it here.

Let's accept the hypotheses that the bulk of software engineering can be done by an autonomous AI agents, that can read documentation, participate in Slack, interact with the issue tracker, write code, run tests, etc. Still, they need someone else to give them a task because a machine will not, and should not be allowed to, come with its own goals. Even if you organize such systems in a tree, the root of the tree still needs to be a human. If we also accept that only people manage people, we get a tree of red and blue nodes, where red are humans, blue are machines, the root is red, all leaves are blue and a red node cannot have a blue parent. The path from the root to any leaf starts with a red node and at some point switches to blue nodes.

Right now the state of technology is that all nodes are red. At some point the blue nodes will start entering the picture. In the scenario I described in the previous post, a company decides that all outsourced work can be handled by AI and replaces all outsource teams with blue nodes, so then you have all red nodes located in US/Europe. That's a grim scenario. A more positive one, is that the company decides to give individual remote employees a team of AI workers and expect the productivity to go through the roof. In this scenario some red nodes are Uzbekistan.

Not every remote employee would get a team of AI workers though, because not every person would be good at this job. This is a pretty different job: you still have to understand code, but you wouldn't writing a lot of it. What you'd do is clearly articulate problems in English, give good actionable feedback, check on results of their work to ensure it interpreted your words correctly, etc. This reminds me my work as a Staff/Principal engineer. So, if are already in such a role, then I think you are still safe, but if you are a rock star programmer that just cranks out code and doesn't talk to others, then I'd say it is time to grow up.

So, my advice is to start looking at what more senior people in your org are doing. They probably see the big picture better than you, better at communication, are able to articulate complex thoughts more clearly, are more creative, knowledgeable and hopefully still hands on and can help you with a low level task, etc. This doesn't need to turn into mass hysteria of getting promoted, but it does mean that perhaps it is time to start developing those soft skills, learn a bit more about product management, project management, and diversify your skills a bit.
4👍1
Forwarded from @Rustam-Z⚡️ (Rustam-Z 🚀)
Received an offer from Google 🎉
🔥147👍2
Forwarded from Nodir's notebook
Hiring. My experience as a hiree at Amazon was absolutely superb. I felt like I am at 5-star hotel and I am the one being paid. My recruiter responded quickly, listened to me carefully, delivered the offer faster than other companies and were patient with me when I took my time to decide (you can read the story earlier in my log). I was surprised to know that the interviewers meet up before and after interviewing the candidate. They asked me to write an essay, essentially, to assess my writing skills. What I'd change? Probably make the technical part harder. In contrast, my Microsoft experience was simply terrible. I had to ping them many times and it took them days to respond.

Technical. I was unplesantly surprised with the technical skills of an average Amazonian compared to an average Googler. I had some bizzare experiences with folks when I said "here, you have a race condition" and was asked "how many customers complained about it?"; or I replaced a list with a hashtable, and the reviewered ask me "you are still calling contains method. What's the difference?". This is a reflection of the hiring process: Google interview is very technical, and Amazon interview is more behavioral. The technical part of my Amazon interview was rather trivial. I think I've seen more shitty code at Amazon than at Google, and this is generally depressing to me because I care about details. The code reviews I've seen were not very detailed either.

Internal tools at Amazon are shitty compared to Google and this was very disappointing. The code search is particularlly shitty because it treats code as plain text and doesn't distinguish symbol declaration from its usage. Compare this to https://source.chromium.org - try starting to type "BindStateBase", where you have auto-completion and it will be navigated directly to its definition. From there you can do "find references". Nothing like that at Amazon. Worst, Amazonians do not even comprehend why it is such a big deal, while a Googler would say "how do you get any work done without code search?". Code review is OK. Github codereview is better, but Gerrit was the best. Partially, this is beceause internal teams do not make money, are constantly underfunded and can't afford making quality tools.

There were other differences from Google (where I spent 7y and got used to), but not necessarily surprising. Just different. I got used to them.

[1]: https://aws.amazon.com/builders-library/workload-isolation-using-shuffle-sharding/?did=ba_card&trk=ba_card
[2]: https://aws.amazon.com/builders-library/static-stability-using-availability-zones/?did=ba_card&trk=ba_card
[3]: https://health.aws.amazon.com/health/status
👍1
Forwarded from Vohid Karimov (Vohid Karimov)
Keyingi podcastimiz Women Techmakers (WTM) ambassadorlari Durdona Bakhronova, Aziza Abdurakhmonova, Mukarramkhon Kodirova, va Madinabonu Alisherova bilan Bavariyaning eng churoyli joylaridan biri Neuschwanstein "Disney" qal'asida bo'ldi.

Suxbat ochiq va qiziqarli bo'ldi. Quyidagi mavzularni yoritdik:
— Intro
— Kim qanday dasturlash tilida ishlaydi?
— Nega Germaniyaga keldilar?
— WTM ambassador bo'lish uchun nima qilish kerak?
— Munich sizlarga yoqdimi?
— Dasturlashga qanday kelib qolgansizlar?
— Mukarramkhon: dasturlashdan project managementga o'tish
— WIUT vs INHA battle
— Dasturchi karyerasida mentorning o'rni
— Aziza lampochka yoqishiga ozgina qolgani
— Work-and-Travel vs Dasturlash
— Nega tez tashlab qo'ymaslik kerak?
— Aziza bank serverini uxlatgani
— Beginner/junior dasturchilarga maslahatlar
— Ayol/qiz bo'lib IT soxasiga kirish qiyinmi?


Link: https://youtu.be/RCNDwAkiouk

#Karyera #Career #SWECareer #CareerTips #Dasturlash #Programming #SoftwareEngineering #IT
👍6🔥3
Forwarded from @Rustam-Z⚡️ (Rustam-Z)
Cracking the Google Interview Part #2: Interview Preparation Roadmap

This article will guide you through my steps for preparing for my Google interviews. Overall, it took me 2 years to crack the MAANG interview and almost 500 solved LeetCode problems: including learning algorithms and data structures, practicing coding & problem-solving, and applying and passing all interviews.

My General Roadmap for Preparing for the Interview:
1. Learning algorithms and data structures.
2. Solving algorithms, and learning patterns and concepts.
3. Practicing coding & problem-solving questions together with friends on the whiteboard.
4. Learning System Design.
5. Writing a resume. Applying to jobs.
6. Preparing for a behavioral interview.
7. Getting an interview invitation, passing all interviews, and getting an offer! 🍾

How Did I Learn Data Structures and Algorithms? Here are the Resources I Used:
1. I had a Data Structures class at university. Here are the notes from the class.
2. Naso Academy DS playlist
3. Jenny's DSA playlist
4. Programiz.com
5. Data Structures by a Google Software Engineer
6. NeetCode videos: here’s one of them
7. AlgoExpert Data Structures course
8. Extra:
• *Tech Interview Handbook Algorithms Cheat Sheet
The Last Algorithms Course You'll Need

Practicing Coding & Problem Solving Questions:
1. InterviewBit
2. LeetCode Explore (only data structures cards)
3. LeetCode Study Plan — Data Structure 1, Algorithm 1, Programming Skills 1
4. "Cracking the Coding Interview" + CTCI problems in LeetCode
5. LeetCode Study Plan — Data Structure 2, Algorithm 2, Programming Skills 2
6. AlgoExpert video solutions
7. Neetcode.io & NeetCode playlist
8. LeetCode company-tagged questions

Problem-Solving Approach (Constraints, Ideas, Complexities, Code, and Tests):
1. Read the problem. Don’t immediately jump into coding!
2. Understand inputs and outputs. Draw some examples on paper.
3. Clarify requirements, ask questions, and find constraints (edge cases). Example questions: Is it ASCII or Unicode? What is the max value? Is there a difference between capital letters and small letters?
4. Think about the solution in your mind. Divide problems into sub-problems. Come up with different ideas (ask whys, think about trade-offs, solve simpler versions, imagine helper functions - go from high level to low level).
5. Evaluate the complexity and trade-offs.
6. Think of a better alternative solution.
7. Write code on paper.
8. Debug your code on paper and test with new corner case inputs.
9. Write code. Write clean code.
10. Write tests. Positive, negative, with edge-cases.
11. More to read:
HiredInTech Algorithm Design Canvas
Cracking the Coding Skills

*My List of Clarifying Questions: Questions, Corner Cases, and Constraints

General Tips:
Interviews are not only about evaluating your technical knowledge. Explain your thought process and show how you approach problem-solving in a structured way step by step. Many questions asked by interviewers are open-ended, so ask good questions to clarify a full set of criteria to solve the problem and clarify requirements. Always, always, always ask clarifying questions before jumping to a solution. Try thinking of different solutions to a given problem and explain why you came up with this solution or this code. Compare your solutions, compare complexities, and think about their trade-offs. Overall, the interview should be like a dialogue – show how it is to work with you, how collaborative you are.

Must Watch and Must Read Resources:
Interview Cake Coding Interview Tips
Prepare for Your Google Interview: Coding
Interview tips from Google Software Engineers
Coding Mock Interview

Extra resources to Watch and Read:
Tech Interview Process
Preparing for a Technical Interview
Prepare for your Google Interview: General Cognitive Ability
Prepare for your Google Interview: Leadership
"100ta Intervyu Nima O'rgatdi?" by Azimjon Pulatov
Mock interview with Vohid Karimov and Azimjon Pulatov

#google #faang #maang #coding #google_interview #faang_interview
5👍3🔥1
Forwarded from Vohid Karimov
Keyingi podcast albatta Rustam Zokirov bilan bo’ldi.

Rustam Zokirov O'zbekistondan turib Googlega job offer olgan birinchi o'zbek bo'ldilar. Rustam hozirda Germaniyaning Munich ofisida Software Engineer in Test lavozimida ishlashni boshladilar.

Suxbat FAANGga bo'lgan yo'l borasida ko'p foydali malumotlarga to'la bo'ldi:
— Birinchi ishni topish
— O’zingizni “sotish”
— Software Engineering in Test
— Universitetni bitirmay senior darajasiga chiqish
— EPAM vs Exadel
— FAANGga tayyorgarlik
— Google: Recruiter call
— Google: Screening interview
— Google: Onsite interviews
— Google: Testing interview
— Google: Behavioral interview
— Interviewda o’zingizni tutish
— Google Germaniyada ishlash
— FAANGga topshirish uchun maslahatlar
— Googledagi perklar

https://www.youtube.com/watch?v=vH9Dd5-IasI
👍4🔥4
Forwarded from kamoloff.log
𝟮𝟳 𝗳𝗿𝗲𝗲 𝗿𝗲𝘀𝗼𝘂𝗿𝗰𝗲𝘀 𝘆𝗼𝘂 𝗰𝗮𝗻'𝘁 𝗺𝗶𝘀𝘀 𝗼𝘂𝘁 𝗮𝘀 𝗮 𝘀𝗼𝗳𝘁𝘄𝗮𝗿𝗲 𝗲𝗻𝗴𝗶𝗻𝗲𝗲𝗿:


🗞️ Newsletters:

🗞️ System Design by Neo Kim
🗞️ Algo Master by Ashish Pratap Singh
🗞️ Rocky's System Design Newsletter
🗞️ Coding Challenges by John Crickett
🗞️ TechWorld with Dr Milan Milanović
🗞️ High Growth Engineer by Jordan Cutler
🗞️ Level Up Coding by Nikki Siapno
🗞️ Developing dev by Ryan Peterman
🗞️ Programming Digest
🗞️ Quastor
🗞️ Hungry Minds by Alexandre Zajac


📺 Youtube channels:

📺 Fireship
📺 Arjan Codes
📺 Byte Byte Go
📺 Tech with Time
📺 Be a Better Dev
📺 FreeCodeCamp
📺 Low-level learning


✍️ Engineering blogs:

✍️ Pinterest Engineering
✍️ GitHub Engineering
✍️ LinkedIn Engineering
✍️ Twitter Engineering
✍️ Airbnb's blog
✍️ Netflix Engineering
✍️ Google AI's blog
✍️ Uber Engineering
✍️ Dropbox Tech


What are your favourite resources?

Source: LinkedIn

#softwareengineering #systemdesign #programming #copypaste

---------------
@kamoloff_log
🔥4👍1
Forwarded from JavaHere's Blogs 🚀
JetBrains dan offer oldim 🎉

Maqola uchun havola.

Bollar biz yutamiz!
🔥12👍3
Forwarded from @Rustam-Z⚡️
Google is hiring Junior Engineers (L3)! 🚀

🇺🇿 O‘zbekistondan turib men kabi ariza topshirib "offer" olishingiz mumkin. Men shu oyda O‘zbekistondan turib suhbatdan o‘tgan 3 nafar nomzodni bilaman.

Yevropa bo‘ylab 30 ta bo‘sh ish o‘rni mavjud!
• 6 tasi Germaniyaning Munich shahrida 🇩🇪
• 8 tasi Shveysariyaning Zurich shahrida 🇨🇭
• Yana bir nechtasi Polshada 🇵🇱

Intervyuga qanday tayyorgarlik ko‘rganim haqida post shu yerda.
🔥61👍1
Forwarded from Codeforces Official
European Championship 2025 - Online Mirror (Unrated, ICPC Rules, Teams Preferred) will take place on the 2nd of March at 10:35 UTC.
Please, join by the link https://codeforces.com/contests/2068
👍43
Forwarded from @Rustam-Z⚡️
Otabek studied in Poland and received offers from Meta, IBM, Google, and Dropbox. He is now a Senior Software Engineer at Dropbox. A very useful podcast for those who are studying in Poland or planning to.


🇺🇿 Otabek Polshada o’qib Meta, IBM, Google, va Dropbox’dan offer olgan, hozir Dropbox'da Senior Software Engineer. Polshada tahsil olayotgan yoki rejalashtirayotgan talabalar uchun juda foydali podcast.

🔗 https://www.youtube.com/watch?v=UKUHx5P3ISk
1. 𝐈𝐧𝐝𝐞𝐱𝐢𝐧𝐠: Create indexes on frequently queried columns to speed up data retrieval.

2. 𝐕𝐞𝐫𝐭𝐢𝐜𝐚𝐥 𝐒𝐜𝐚𝐥𝐢𝐧𝐠: Upgrade your database server by adding more CPU, RAM, or storage to handle increased load.

3. 𝐂𝐚𝐜𝐡𝐢𝐧𝐠: Store frequently accessed data in-memory (e.g., Redis, Memcached) to reduce database load and improve response time.

4. 𝐒𝐡𝐚𝐫𝐝𝐢𝐧𝐠: Distribute data across multiple servers by splitting the database into smaller, independent shards, allowing for horizontal scaling and improved performance.

5. 𝐑𝐞𝐩𝐥𝐢𝐜𝐚𝐭𝐢𝐨𝐧: Create multiple copies (replicas) of the database across different servers, enabling read queries to be distributed across replicas and improving availability.

6. 𝐐𝐮𝐞𝐫𝐲 𝐎𝐩𝐭𝐢𝐦𝐢𝐳𝐚𝐭𝐢𝐨𝐧: Fine-tune SQL queries, eliminate expensive operations, and leverage indexes effectively to improve execution speed and reduce database load.

Original source
👍2
Forwarded from Otabek’s I/O
Promotion oldim 🎉

Dropbox'da ish boshlaganimga ko'p bo'lmadi. Shu paytgacha Core Team a’zosi sifatida 2 ta katta loyiha ustida 2 jamoa bilan ishladim: Network Engineering Team va Infrastructure Team.

Ha Big Tech'da (hammasida ham emas) siz asosiy va qo'shimcha loyiha sifatida yana bir loyiha bilan ishlasangiz bo'ladi va biz uni ToD (Tour of Duty) deb ataymiz.

Polshada hiring juda ko'paydi va bu interviewer bo'lish uchun zo'r imkoniyat ochdi. Hozirgacha 5 ta interview o'tkazdim. 2 tasida shadow va 3 ta interviewer sifatida. Yaxshi tomoni ko'p narsa o'rgandim. Yomon tomoni men o'tkazgan intervyulardan kandidatlar yaxshi perform qila olishmadi (yaxshi kandidat uchramadi).

Sizni o'sishingiz doim ham siz ishlayotgan loyihaga bog'liq emas, balkim menejeringizga ham juda katta bog'liqligi bor. Meni omadim kelib, yaxshi menejerlar uchrab qoldi. Va bugun ularni menga bergan yordamlari bilan Staff Software Engineer (IC5) lavozimiga ko'tarilayabman (Avgust oyidan).

Yaxshi loyihada ishlash yaxshi, ammo loyihani o'sishini (company impact) va loyiha menejerini jamoaga bo'lgan e'tiborini ham inobatga olish juda muhim ekan. Shuning uchun intervyuda faqat kompaniya/menejer sizni emas, siz ham kompaniya/menejerni intervyu qilishingiz muhim.

To'g'risi, agar kimdir "24 yoshingda Staff Software Engineer bo'lib ishlaysan" deyishsa "qo'ysangizchi-ye" degan bo'lardim.

Yig'ilgan tajribalarni esa tez kunlarda 42.uz va otabek.io da bo'lishib o'tamiz.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9