In the last 15 years, I have interviewed 800+ Software Engineers across Google, Paytm, Amazon & various startups. Here are the most actionable tips I can give you on how to approach solving coding problems in Interviews (My DMs are always flooded with this particular question) 1. Use a Heap for K Elements - When finding the top K largest or smallest elements, heaps are your best tool. - They efficiently handle priority-based problems with O(log K) operations. - Example: Find the 3 largest numbers in an array. 2. Binary Search or Two Pointers for Sorted Inputs - Sorted arrays often point to Binary Search or Two Pointer techniques. - These methods drastically reduce time complexity to O(log n) or O(n). - Example: Find two numbers in a sorted array that add up to a target. 3. Backtracking - Use Backtracking to explore all combinations or permutations. - They’re great for generating subsets or solving puzzles. - Example: Generate all possible subsets of a given set. 4. BFS or DFS for Trees and Graphs - Trees and graphs are often solved using BFS for shortest paths or DFS for traversals. - BFS is best for level-order traversal, while DFS is useful for exploring paths. - Example: Find the shortest path in a graph. 5. Convert Recursion to Iteration with a Stack - Recursive algorithms can be converted to iterative ones using a stack. - This approach provides more control over memory and avoids stack overflow. - Example: Iterative in-order traversal of a binary tree. 6. Optimize Arrays with HashMaps or Sorting - Replace nested loops with HashMaps for O(n) solutions or sorting for O(n log n). - HashMaps are perfect for lookups, while sorting simplifies comparisons. - Example: Find duplicates in an array. 7. Use Dynamic Programming for Optimization Problems - DP breaks problems into smaller overlapping sub-problems for optimization. - It's often used for maximization, minimization, or counting paths. - Example: Solve the 0/1 knapsack problem. 8. HashMap or Trie for Common Substrings - Use HashMaps or Tries for substring searches and prefix matching. - They efficiently handle string patterns and reduce redundant checks. - Example: Find the longest common prefix among multiple strings. 9. Trie for String Search and Manipulation - Tries store strings in a tree-like structure, enabling fast lookups. - They’re ideal for autocomplete or spell-check features. - Example: Implement an autocomplete system. 10. Fast and Slow Pointers for Linked Lists - Use two pointers moving at different speeds to detect cycles or find midpoints. - This approach avoids extra memory usage and works in O(n) time. - Example: Detect if a linked list has a loop. 💡 Save this for your next interview prep!
Tech Interview Preparation
Explore top LinkedIn content from expert professionals.
-
-
When I interviewed candidates for our team at Microsoft, one thing always set the best apart. Specificity. Their answers showed that they did their research. They knew exactly why we were hiring and how their background fit — and they gave specific examples to prove it. This was one of the most consistent things across our best hires, so much so that I actually ended up using it as a screening test. If I could replace Microsoft with a competitor (Google, Amazon, etc.) and their answer still worked, it wasn’t a good answer. The people who gave catch-all answers tended to show that they didn't do much research and the convo progressed. Those interviews were generic and boring. But the people who could tell me exactly what was happening and how they could make an impact? Those conversations were a blast and those candidates stood out. So when you’re preparing for your next interview, use this 3 step process: 1. Research the heck out of the company and hiring team 2. Draft up answers that use specific examples and focus on the company’s needs 3. For each answer, ask yourself, “does this answer make sense if I swap in a competitor?” If it does, you need to be more specific! If it only makes sense with your target company, you’re in great shape to crush this thing.
-
When people ask me, “How did you get into Google” ? — they often expect a shortcut or some secret trick. Here’s the truth: there is no shortcut. But there is a strategy. 💪 If you're preparing for big tech interviews (Google, Meta etc.), here’s what I’ve learned first-hand: ✅ 1. Master fundamentals, not just patterns. Instead of memorizing 100+ Leetcode solutions, deeply understand how and why data structures work (e.g., why a trie is used for prefix matching, why dynamic programming optimizes overlapping subproblems). ✅ 2. Solve problems consistently. Quality beats quantity. Solving 2 problems deeply every day > solving 10 problems quickly without understanding. ✅ 3. Think out loud. In interviews, your approach matters more than your final answer. Interviewers want to know how you think, debug, and improve. ✅ 4. Mock interviews are game-changers. Simulate the real interview environment with friends or mentors. You’ll build confidence and identify blind spots. ✅ 5. Embrace feedback and failure. I’ve faced rejections too. Instead of feeling defeated, I treated each one as a free lesson to level up. --- Today, as a Software Engineer at Google, I still use these principles daily — solving real-world problems at scale. ✨ To anyone preparing: You don’t have to be a genius. You just have to keep showing up, learning, and believing in yourself. If you'd like, I can share a detailed roadmap or my personal prep strategy in a future post — just comment “Interested” below! ⬇️ For 1:1 conversations please connect here: https://lnkd.in/ga_5bi57 #Google #SoftwareEngineering #InterviewPreparation #DSA #WomenInTech #CareerAdvice
-
After taking 75 Software Engineer interviews at Google in < 7 months, I’ve seen a range of mistakes all of us make in coding interviews. Here’s a compiled list to help you (and me) avoid these pitfalls in our future interviews! 1️⃣ Not Clarifying Requirements > Many candidates jump straight into coding. Often without fully understanding the problem. This can waste time and lead to errors. Tip: Always ask clarifying questions. To ensure you get the requirements. Confirm edge cases and input constraints early on. 2️⃣ Overcomplicating Solutions > In the heat of the moment, it is easy to overthink a problem. And this complicates the solution, both for you and your interviewer. Tip: Start with a brute-force approach (just explain it), then iterate towards optimization (code it up). Easy-to-understand solutions get bonus points. 3️⃣ Under-Communication > Interviews are not just about coding. They’re also about conveying your thought process. Silence takes away the only help you have during the interview—your interviewer. Tip: Think out loud! Explain your reasoning and approach as you code. This helps the interviewers understand you and even guide you if needed. 4️⃣ Ignoring Edge Cases > Many candidates create a working solution. But fail to consider edge cases. This can lead to catastrophic failures. Tip: After arriving at a solution, always discuss potential edge cases. Explain how your code handles them. This shows your thoroughness. 5️⃣ Neglecting to Optimize > Even if your solution works, failing to consider optimization can cost you points. Tip: After solving the problem, re-read your solution and discuss ways to improve time and space complexity. No micro-optimizations. Interviewers appreciate candidates who think about efficiency in big-oh notation. 6️⃣ Skipping Dry Runs > 80%+ candidates skip the dry run of their code, leading to overlooked mistakes. Tip: Walk through your code with sample inputs. This helps catch errors early and makes you look proactive. 7️⃣ Getting Flustered > Interviews are stressful. And it is easy to panic if you hit a roadblock. Tip: If you’re stuck, ask for a minute or 2 to gather your thoughts. Ask for hints if necessary—interviewers appreciate candidates who are willing to seek help. Those were my 2 cents on how to tackle coding interviews. But believe it or not, the best way to realize your interview mistakes would be to start taking interviews (even mock ones). After conducting so many interviews at Google, I realized how I often fell into the same traps as everyone. Like going completely silent or forgetting to do a dry run for the interviewer. Taking interviews altered my perspective, and now I advise everyone preparing for interviews to take a couple of them first. Total game changer! #codingInterviews #jobPrep #softwareEngineering #Google #interviewTips
-
System design interviews can be a daunting part of the hiring process, but being prepared with the right knowledge makes all the difference. This System Design Cheat Sheet covers essential concepts that every engineer should know when tackling these types of questions. Key Areas to Focus On: 1. Data Management: - Cache: Boost read operation speeds with caching mechanisms like Redis or Memcached. - Blob/Object Storage: Efficiently handle large, unstructured data using systems like S3. - Data Replication: Ensure data reliability and fault tolerance through replication. - Checksums: Safeguard data integrity during transmission by detecting errors. 2. Database Selection: - RDBMS/SQL: Best for structured data with strong consistency (ACID properties). - NoSQL: Ideal for large volumes of unstructured or semi-structured data (MongoDB, Cassandra). - Graph DB: For interconnected data like social networks and recommendation engines (Neo4j). 3. Scalability Techniques: - Database Sharding: Partition large datasets across multiple databases for scalability. - Horizontal Scaling: Scale out by adding more servers to distribute the load. - Consistent Hashing: A technique for efficient distribution of data across nodes, essential for load balancing. - Batch Processing: Use when handling large amounts of data that can be processed in chunks. 4. Networking: - CDN: Distribute content globally for faster access and lower latency (e.g., Cloudflare, Akamai). - Load Balancer: Spread traffic across multiple servers to ensure high availability. - Rate Limiter: Prevent overloading by controlling the rate of incoming requests. - Redundancy: Design systems to avoid single points of failure by duplicating components. 5. Protocols & Queues: - Message Queues: Asynchronous communication between microservices, ideal for decoupling services (RabbitMQ, Kafka). - API Gateway: Control API traffic, manage rate limiting, and provide a single point of entry for your services. - Gossip Protocol: Efficient communication in distributed systems by periodically exchanging state information. - Heartbeat Mechanism: Monitor the health of nodes in distributed systems. 6. Modern Architecture: - Containerization (Docker): Package applications and dependencies into containers for consistency across environments. - Serverless Architecture: Run functions in the cloud without managing servers, focusing entirely on the code (e.g., AWS Lambda). - Microservices: Break down monolithic applications into smaller, independently scalable services. - REST APIs: Build lightweight, maintainable services that interact through stateless API calls. 7. Communication: - WebSockets: Real-time, bi-directional communication between client and server, commonly used in chat applications, live updates, and collaborative tools. Save this post and use it as a quick reference for your next system design challenge!
-
There are so many people who asked me about my Goldman Sachs internship—how did I apply, what's the procedure… so here’s my journey! 🚀 I secured my internship through Goldman Sachs' Engineering Campus Hiring Program (ECHP), and here’s a breakdown of my experience: 📌 1. Application Process ✅ Applied via the official portal after participating in an off-campus drive. ✅ Prioritize filling out the form accurately before proceeding to the first online aptitude test. 📝 2. Aptitude Round ✅ Conducted on Hackerrank with 7 sections and 70 questions. ✅ Sections: Numerical Computations, Reasoning (Numerical, Abstract, Diagrammatic, Logical), and Comprehension. ✅ Marking: +5 for correct answers, -2 for incorrect ones. ✅ Attempted 50-55 questions correctly—a crucial elimination round. 🎓 3. Coursework ✅ Completed 3 Coursera specialization courses that helped in the upcoming rounds. 💻 4. Technical Test (Coding + MCQ) ✅ Another Hackerrank test, 1-hour time limit. ✅ 11 questions (MCQs + Coding) from Core CS Fundamentals and DSA. ✅ Marking: +5 for correct, -2 for incorrect answers. ✅ Divided into: 🔹 Programming questions 🔹 MCQs (OS, DBMS, OOPs, Networks) 🔹 Personal Introduction Section (2 theoretical questions) ✅ Proctored test with strict plagiarism checks. 🔥 TIP: Solve the easy coding question completely first, and avoid guessing MCQs. 🗣️ 5. Interview Rounds 📍 Round 1 (Technical Interview) ✅ Zoom interview, focused on DSA & basic OS questions. ✅ Solved 3 DSA questions (1 Array, 2 Binary Trees). ✅ Explained time & space complexity for each solution. 📍 Round 2 (Technical Interview) ✅ Covered DSA & DBMS concepts along with SQL questions. ✅ Solved one puzzle question correctly. 📍 Round 3 (Technical Interview) ✅ Started with introduction, then moved to one hard DSA question. ✅ Wrote working, optimized code with proper time & space complexity analysis. ⏳ 6. Post-Interview Experience ✅ Waited for the results, which were communicated via email within 20 days. 🚀 7. Life-Changing Tips ✔️ First two online rounds had major eliminations—prepare well! ✔️ Have faith in your practice and skills—this is key. ✔️ Solve previous Goldman Sachs DSA questions. ✔️ Read interview experiences of others and reach out for help. ✔️ Strong fundamentals in DBMS, OOPs, OS are a must. Hope this helps! Feel free to connect if you have any questions. 🚀 #GoldmanSachs #hiring #HiringProcess #internship #tech
-
Interview questions ratta marna chhod do! I have taken thousands of interviews and I can say - Yes - preparation matters. Do your homework. Know your resume. Practice your examples. But once you're in the room (or on the call)? Your energy, your awareness, and how you carry yourself is what I focus on the most. Here are 7 emotional intelligence moves that make the real difference: 1. You pause - deliberately - before answering. Count to 2. Breathe. Then speak. It signals clarity, not hesitation. Confidence without rush. 2. You acknowledge what’s not on your resume. “I’ve been working on improving…” That level of self-awareness? Rare. And respected. 3. You bring up concerns before they do. “Let me address what you might be wondering…” This shows leadership. You’re not hiding, you’re owning. 4. You share the win - but name your team. It’s never “I increased conversions by 40%.” It’s “We worked on a strategy that led to…” People hire people who elevate others. 5. You stay calm when tech glitches happen. Instead of stressing out, you say, “Thanks for your patience—tech happens.” Grace under pressure? That’s presence. 6. You ask them a thoughtful question. “What made you join this company?” It flips the dynamic and shows you’re choosing them too. 7. You refer to what they said - later in the conversation. Bring back their own words. It proves you’re not just answering. You’re listening. And that's it. I hope this helps!
-
𝐇𝐨𝐰 𝐈 𝐂𝐫𝐚𝐜𝐤𝐞𝐝 𝐭𝐡𝐞 𝐃𝐒𝐀 𝐑𝐨𝐮𝐧𝐝𝐬 𝐚𝐭 𝐌𝐢𝐜𝐫𝐨𝐬𝐨𝐟𝐭 & 𝐖𝐚𝐥𝐦𝐚𝐫𝐭 ? A few months back, I found myself stuck in a loop solving random DSA problems every day without any structure. I was busy, but not progressing. That’s when I decided to do something different. Instead of chasing quantity, I started mastering patterns the ones that actually appear in MAANG-level interviews. For three months straight, I practiced with intent: 📍Solving under time pressure. 📍Explaining every line of my code aloud. 📍Handling follow-up questions just like in real interviews. When the interviews came first at Microsoft, then at Walmart, it felt less like an exam and more like a pattern recognition test. Here’s the list of questions I drilled repeatedly 👇 1️/ Strings / Tries: Sliding Window, Minimum Window Substring, Concatenated Words, Word Break 2️/ Searching & Sorting: Kth Element, Median of Two Sorted Arrays, Search in 2D Matrix, Search in Rotated Sorted Array 3️/ Stacks & Queues: Valid Parentheses, Sliding Window Maximum, Queue Using Stacks, Largest Rectangle in Histogram 4️/ Hashing: Two Sum, Subarray Sum Equals K, LCS, Group Anagrams 5️/ Trees: LCA, DFS/BFS, BST Operations, Path Sum 6️/ Greedy: Fractional Knapsack, Job Sequencing, Minimum Coins 7️/ Dynamic Programming: LCS, 0/1 Knapsack, Edit Distance, Coin Change 8️/ Two Pointers: Trapping Rainwater, 2Sum, Container With Most Water 9️/ Graphs: Clone Graph, Number of Islands, Detect Cycle In almost every round, the questions were variations of these exact problems. What made the difference? I stopped treating DSA as a theory and started simulating real interviews: ✔️ Time-bound problem solving ✔️ Explaining my thought process clearly ✔️ Adapting to follow-up questions on edge cases That habit changed everything. If you’re a working professional aiming to transition, DSA, along with guidance. You can checkout Meritshot Academy. https://lnkd.in/gnheR3KQ They will help you with AI-powered doubt resolution and 1:1 mentorship from Microsoft hiring managers plus real interview simulations and Microsoft accredited projects that truly matter. Stop treating interviews as luck. Start preparing like the developers who actually make the jump. #Microsoft #Google #SoftwareEngineering #JobSearch #TechCareers
-
To prepare for technical interviews at FAANG (Google, Apple, Microsoft, Amazon, and Meta), here's strategy: To prepare for technical interviews, focus on solving coding problems regularly. 1. Practice Coding Every Day: - Try solving at least one medium or two easy-level coding questions daily. - Do it on your own without help, but if you're stuck for over an hour, look for hints or solutions. - Make notes of what you missed while solving and revise them often. 2. Focus on Concepts: - Spend time understanding the concepts behind each problem you solve. - Revise your notes and practice problems regularly to strengthen your understanding. 3. System and Design Studies: - Aim to prepare at least one system and one object-oriented design case study each week. 4. Stay Consistent: - Consistency is key. Stick to your daily coding practice routine. - Use the Pomodoro Technique: plan 25 minutes of focused preparation followed by a 5-minute break, and repeat. 5. Include Behavioral Interviews: - Don't overlook behavioral interviews. Give them equal importance in your preparation. For effective use of LeetCode: 1. Quality Over Quantity: - Focus on solving quality problems rather than just solving many. - Follow a roadmap of quality problems, like the 100 Days to GAMAM plan. 2. Use Curated Lists: - Solve LeetCode's curated list of top interview questions, including the top 100 liked questions. 3. Practice Weak Areas: - Identify your weak areas and practice questions specifically in those topics. - Sort problems by "Acceptance" after choosing a difficulty level for better chances of success. 4. Gradual Progression: - If you're a beginner, start with easy-level problems and gradually move to medium and hard levels. - Aim to solve a target number of problems at each level. 5. Utilize Resources: - Check out multiple solutions to problems and understand their time and space complexities. - Take notes on missed concepts and revise them regularly. 6. Challenge Yourself: - Once you're comfortable with practice, try daily challenges and participate in contests. - Track your progress and consistency using LeetCode's features, like session management and submission graphs. LeetCode Practice: - Solve LeetCode problems daily for 1-2 hours. - Focus on quality over quantity. - Start with easy problems if you're a beginner. - Practice topics where you feel weak. - Check out multiple solutions for each problem. - Aim for a balanced number of easy, medium, and hard problems. Problem Solving Techniques: - Don't spend more than 45-60 minutes on a problem. - If stuck, check hints or solutions, but try to understand them fully. - Take notes on missed concepts and solutions. - Revise problems frequently, following a schedule based on Ebbinghaus's Forgetting Curve. consistent practice, understanding concepts, and targeted preparation will help you ace your technical interviews! Follow Vikram Gaur #faang
-
These Tips on ‘How to Keep Yourself Calm Before and During an Interview’ ACTUALLY Work👇 Interviews can be nerve-wracking, but staying calm is crucial for showing your best self. Here are some effective tips to help you stay composed before and during your interview: 𝑩𝒆𝒇𝒐𝒓𝒆 𝒕𝒉𝒆 𝑰𝒏𝒕𝒆𝒓𝒗𝒊𝒆𝒘: ♾️Prepare Thoroughly: Research the company, role, and common interview questions. Being well-prepared boosts confidence. ♾️Practice Breathing Exercises: Deep breathing helps calm your nerves. Inhale deeply for a count of four, hold for four, and exhale for four. Repeat a few times. ♾️Visualize Success: Picture yourself attending the interview. Visualization can reduce anxiety and increase confidence. ♾️Get Organized: Have your resume, references, and any necessary documents ready. Knowing you’re prepared will ease your mind. ♾️Exercise: Physical activity releases endorphins, which can help reduce stress and improve your mood. 𝑫𝒖𝒓𝒊𝒏𝒈 𝒕𝒉𝒆 𝑰𝒏𝒕𝒆𝒓𝒗𝒊𝒆𝒘: ♾️Stay Present: Focus on the moment and listen carefully to the interviewer. This keeps your mind from wandering to anxious thoughts. ♾️Pace Your Speech: Speak slowly and clearly. Pausing to think before answering helps maintain composure. ♾️Maintain Positive Body Language: Sit up straight, make eye contact, and smile. Positive body language can make you feel more confident. ♾️Use Positive Self-Talk: Remind yourself of your strengths and achievements. Positive affirmations can counteract nervousness. ♾️Acknowledge Anxiety: It’s okay to feel nervous. Accepting your anxiety can make it more manageable. Try these tips to stay calm and confident, and watch how they transform your interview experience. And always remember, 'Don't stress like a CEO when you're earning an employee's salary.' Good luck! You've got this!
Explore categories
- Hospitality & Tourism
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Healthcare
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Career
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development