Coding Interview Resources
50.3K subscribers
693 photos
7 files
398 links
This channel contains the free resources and solution of coding problems which are usually asked in the interviews.

Managed by: @love_data
Download Telegram
5 Sites to Prepare for Tech Interviews:

1. Leetcode
๐Ÿ”— leetcode.com

2. Interviewing .io
๐Ÿ”— interviewing.io

3. Coding Interview University
๐Ÿ”— https://github.com/jwasham/coding-interview-university

4. JavaScript Algorithms
๐Ÿ”— https://github.com/trekhleb/javascript-algorithms

5. JavaScript Questions
๐Ÿ”— https://github.com/lydiahallie/javascript-questions

โžก๏ธ Give Reactions ๐ŸคŸ
๐Ÿ‘11โค8๐Ÿ‘Œ1
International students are having a tough time securing a full time job in Tech.

Reasons

1. Market has limited opportunities for entry level junior data/software engineers.

2. People having 0-3 years of workex are competing against job seekers having 8+ years of seasoned experience.

3. Lot of companies have their operations in off-shore, as companies grow the headcount of offshore>>onshore.

Solution :

Build up relevant skillsets, latch on to the newer technologies that will bring you at par with experienced candidates.

Build apps/ai models/data pipelines/dashboards that tracks live data.

People who have secured job has everything to lose and their routine is restricted and have limitied time to be dedicated to learning. You on the other hand have nothing to lose and everything to gain.

Request for that coffee chat.

Take that certification exam.

Attend that quarterly event.

Success is sweeter when its delayed.
๐Ÿ‘17๐Ÿฅฐ2
Leetcode is a tool to learn

Neetcode is a tool to learn

CodeChef is a tool to learn

Codeforces is a tool to learn

HackerRank is a tool to learn

GeeksForGeeks is a tool to learn

It doesn't matter:

- which platform you are using

- or how many problems you solve

All that matters is how strong you grasp concepts and adapt to problems.

Don't chase the status of 500 or 1000 problems solved.

Chase proper learning & training your mind for problem-solving.

Best DSA RESOURCES: https://topmate.io/coding/886874

All the best ๐Ÿ‘๐Ÿ‘
๐Ÿ‘27
โญ• TECH MAHINDRA Interview Exp โญ•

1) Self Intro.
2) Project.
3) Qns on Project.
4) Which Programming Language
     you r Familiar with It.
5) What is Primarykey, Foreignkey.
6) Views in SQL.
7) Syntax of View.
8) Rank.
9) External Table.
10) Method Overloading.
11) Method Overriding.
12) Inheritance.
13) Explain Types of Inheritance
14) Why Multiple Inheritance is not
       Supported.
15) Is Multiple Inheritance.
      Supported injava and wha is it.
16) Relocation.
17) Night Shifts.
18) Why you Choose TechM.
19) About TechM.
โค10๐Ÿ‘5
Commonly asked System Design CONCEPT BASED interview topics -

1. Horizontal vs Vertical Partitioning:
Vertical partitioning splits tables by columns, often separating different features. Horizontal partitioning splits tables by rows, distributing data across multiple servers. Vertical organizes data logically, while horizontal improves scalability + performance.

2. Apache Kafka:
Kafka is a distributed streaming platform using a publish-subscribe model. It's fast due to the sequential disk I/O, zero-copy principle, and efficient batching of messages.

3. Rate Limiter:
A rate limiter controls the rate of requests a client can make to a service. It prevents overload and ensures fair resource usage.

4. JWT vs OAuth vs SAML:
JWT is a compact, self-contained token for secure information transmission. OAuth is an authorization framework for delegated access. SAML is an XML-based standard for exchanging authentication and authorization data.

5. Single Sign-On (SSO):
SSO allows users to access multiple applications with one set of credentials. It typically uses a central authentication server and protocols like SAML/OAuth.

6. Microservices vs Monolithic Architecture:
Microservices architecture breaks an application into small, independent services. Monolithic architecture is a single, tightly-coupled unit. Microservices offer scalability while monoliths are simpler to develop + deploy.

7. Reverse Proxy vs Forward Proxy:
A reverse proxy sits in front of web servers, forwarding client requests to backend servers. A forward proxy sits in front of clients, forwarding their requests to the internet. Reverse proxies are used for load balancing and security, while forward proxies are used for anonymity and filtering.

8. CAP Theorem:
The CAP theorem states that a distributed system can only provide two of three guarantees: Consistency, Availability, and Partition tolerance. In practice, partition tolerance is necessary, so systems must choose between consistency and availability during network partitions.

10. Efficient Caching Strategy:
Implement multi-level caching (browser, CDN, application server, database). Use appropriate cache invalidation strategies (TTL, event-based). Consider cache coherence for distributed systems.

Best DSA RESOURCES: https://topmate.io/coding/886874

All the best ๐Ÿ‘๐Ÿ‘
๐Ÿ‘11โค1
Here's a short roadmap to crack an IT job with a non-CS background ๐Ÿš€

1. ๐Ÿ“š Learn basics of CS and programming.
2. ๐ŸŽฏ Choose a specialization (e.g., web dev, data analysis).
3. ๐Ÿ† Complete online courses and certifications.
4. ๐Ÿ› ๏ธ Build a portfolio of projects.
5. ๐Ÿค Network with professionals.
6. ๐Ÿ’ผ Seek internships for experience.
7. ๐Ÿ“š Keep learning and stay updated.
8. ๐Ÿง  Develop soft skills.
9. ๐Ÿ“ Prepare for interviews.
10. ๐Ÿ’ช Stay persistent and positive! Good luck!
๐Ÿ‘15โค2๐Ÿ‘2
No matter how poorly a candidate is doing.There is always something they got right. Find a way to infuse some positivity into the interview.
๐Ÿ‘22โค7
List of most asked Programming Interview Questions.

Are you preparing for a coding interview? This tweet is for you. It contains a list of the most asked interview questions from each topic.

Arrays

- How is an array sorted using quicksort?
- How do you reverse an array?
- How do you remove duplicates from an array?
- How do you find the 2nd largest number in an unsorted integer array?

Linked Lists

- How do you find the length of a linked list?
- How do you reverse a linked list?
- How do you find the third node from the end?
- How are duplicate nodes removed in an unsorted linked list?

Strings

- How do you check if a string contains only digits?
- How can a given string be reversed?
- How do you find the first non-repeated character?
- How do you find duplicate characters in strings?

Binary Trees

- How are all leaves of a binary tree printed?
- How do you check if a tree is a binary search tree?
- How is a binary search tree implemented?
- Find the lowest common ancestor in a binary tree?

Graph

- How to detect a cycle in a directed graph?
- How to detect a cycle in an undirected graph?
- Find the total number of strongly connected components?
- Find whether a path exists between two nodes of a graph?
- Find the minimum number of swaps required to sort an array.

Dynamic Programming

1. Find the longest common subsequence?
2. Find the longest common substring?
3. Coin change problem?
4. Box stacking problem?
5. Count the number of ways to cover a distance?

Best DSA RESOURCES: https://topmate.io/coding/886874

All the best ๐Ÿ‘๐Ÿ‘
๐Ÿ‘15โค5
Free Resources To Crack Coding Interviews
๐Ÿ‘‡๐Ÿ‘‡

Coding Interview Prep FREE CERTIFIED COURSE

https://www.freecodecamp.org/learn/coding-interview-prep/#take-home-projects

Python Interview Questions and Answers

https://t.me/dsabooks/75

Beginner's guide for DSA

https://www.geeksforgeeks.org/the-ultimate-beginners-guide-for-dsa/amp/

Cracking the coding interview FREE BOOK

https://www.pdfdrive.com/cracking-the-coding-interview-189-programming-questions-and-solutions-d175292720.html

DSA Interview Questions and Answers

https://t.me/crackingthecodinginterview/77

Cracking the Coding interview: Learn 5 Essential Patterns
[4.5 star ratings out of 5]

https://bit.ly/3GUBk56

Data Science Interview Questions and Answers

https://t.me/datasciencefun/958

Java Interview Questions with Answers

https://t.me/Curiousprogrammer/106

ENJOY LEARNING ๐Ÿ‘๐Ÿ‘
๐Ÿ‘7โค3
๐Ÿ‘16๐Ÿฅฐ7
A microservice is a software development technique where an application is structured as a collection of small, loosely coupled services. Each service is designed to perform a specific function or task within the application and can be developed, deployed, and scaled independently. Microservices communicate with each other through well-defined APIs, allowing for flexibility, scalability, and resilience in the overall system. This approach enables teams to work on different services simultaneously, promotes faster development cycles, and makes it easier to update or replace individual services without affecting the entire application. Overall, microservices architecture is known for its agility, maintainability, and ability to adapt to changing business requirements.
๐Ÿ‘15
12 things an API Gateway can do for your application:

โœ… Single entry point for incoming requests.

โœ… Parameter Validation for the various attributes within the HTTP request

โœ… Whitelist checks to allow or deny requests based on pre-defined rules

โœ… Authentication and authorization by talking to an identity provider

โœ… Rate Limiting requests based on application-defined rules and reject requests if the limit is violated.

โœ… Route the requests to the relevant service based on path-matching.

โœ… Service Discovery by contacting the service registry and finding the appropriate service instances.

โœ… Request transformation from one protocol to another if needed. For example, REST to gRPC and vice-versa.

โœ… Handling errors for some basic issues

โœ… Circuit breakers for preventing cascading failures and providing fallback responses to the client

โœ… Caching common responses

โœ… Logging request data and error data for efficient monitoring.
๐Ÿ‘13
Software development is complex, and the fancy names don't help.

Hashing vs. Encryption vs. Encoding


๐—›๐—ฎ๐˜€๐—ต๐—ถ๐—ป๐—ด

This is a one-way process used for data integrity verification.

When you hash data, you get a unique string representing the original data.

It's a one-way street; once you hash something, you can't get the original data back from the hash.

While multiple values can theoretically yield the same hash, well-crafted cryptographic hash functions make such collisions incredibly rare and nearly impossible to compute.

This property makes it perfect for verifying if someone altered the data.

If even one-bit changes in the original data, the hash changes dramatically.


๐—˜๐—ป๐—ฐ๐—ฟ๐˜†๐—ฝ๐˜๐—ถ๐—ผ๐—ป

This is the real deal when it comes to data security.

It uses algorithms and keys to transform readable data (plaintext) into an unreadable format (ciphertext).

Only those with the correct key can unlock (decrypt) the data and read it.

This process is reversible, unlike hashing.

Encryption is critical for protecting sensitive data from unauthorized access.


๐—˜๐—ป๐—ฐ๐—ผ๐—ฑ๐—ถ๐—ป๐—ด

This is all about data representation.

It converts data from one format to another, making it easier to interpret and display.

Common formats:

โ€ข Base64
โ€ข UTF-8
โ€ข ASCII

Encoding does NOT provide security! It's for data transmission and storage convenience.


One common use of hashing is for secure password storage.

When you create an account or set a password, the system hashes and stores the password in the database.

During login, the system hashes the provided password and compares it to the stored hash without revealing the password.
๐Ÿ‘14โค1
The reason youโ€™re struggling with ๐—ฆ๐˜†๐˜€๐˜๐—ฒ๐—บ ๐——๐—ฒ๐˜€๐—ถ๐—ด๐—ป interviews isn't because you havenโ€™t studied countless case studies or designed multitude of systems.

It is because you haven't mastered the core concepts.

You can study all the complex systems, like distributed databases or scalable microservices architectures or designing a large-scale distributed system or a high-throughput messaging service. But these aren't as common as you might think.

Focus on strengthening your foundational knowledge first. No matter the language you prefer, whether Python, C++, Java, or JavaScript, start by building a solid understanding of core system design principles.

โžค System Design Key Concepts:

1. Scalability: https://lnkd.in/gpge_z76
2. Latency vs Throughput: https://lnkd.in/g_amhAtN
3. CAP Theorem: https://lnkd.in/g3hmVamx
4. ACID Transactions: https://lnkd.in/gMe2JqaF
5. Rate Limiting: https://lnkd.in/gWsTDR3m
6. API Design: https://lnkd.in/ghYzrr8q
7. Strong vs Eventual Consistency: https://lnkd.in/gJ-uXQXZ
8. Distributed Tracing: https://lnkd.in/d6r5RdXG
9. Synchronous vs. asynchronous communications: https://lnkd.in/gC3F2nvr
10. Batch Processing vs Stream Processing: https://lnkd.in/g4_MzM4s
11. Fault Tolerance: https://lnkd.in/dVJ6n3wA

โžค System Design Building Blocks:

1. Databases: https://lnkd.in/gti8gjpz
2. Horizontal vs Vertical Scaling: https://lnkd.in/gAH2e9du
3. Caching: https://lnkd.in/gC9piQbJ
4. Distributed Caching: https://lnkd.in/g7WKydNg
5. Load Balancing: https://lnkd.in/gQaa8sXK
6. SQL vs NoSQL: https://lnkd.in/g3WC_yxn
7. Database Scaling: https://lnkd.in/gAXpSyWQ
8. Data Replication: https://lnkd.in/gVAJxTpS
9. Data Redundancy: https://lnkd.in/gNN7TF7n
10. Database Sharding: https://lnkd.in/gMqqc6x9
11. Database Index's: https://lnkd.in/gCeshYVt
12. Proxy Server: https://lnkd.in/gi8KnKS6
13. WebSocket: https://lnkd.in/g76Gv2KQ
14. API Gateway: https://lnkd.in/gnsJGJaM
15. Message Queues: https://lnkd.in/gTzY6uk8

โžค System Design Architectural Patterns:

1. Event-Driven Architecture: https://lnkd.in/dp8CPvey
2. Client-Server Architecture: https://lnkd.in/dAARQYzq
3. Serverless Architecture: https://lnkd.in/gQNAXKkb
4. Microservices Architecture: https://lnkd.in/gFXUrz_T

โžค Machine Coding Round and Low Level Design Problems:

1. Design a Parking Lot: https://lnkd.in/dQaAuFd2
2. Design Splitwise: https://lnkd.in/dF5fBnex
3. Design Chess Validator: https://lnkd.in/dfAQHvN4
4. Design a Distributed Queue | Kafka: https://lnkd.in/dQ6_B4_M
5. Design Tic-Tac-Toe: https://lnkd.in/dFDApUBt

Python Interview Questions and Answers

https://t.me/dsabooks/75

Beginner's guide for DSA

https://www.geeksforgeeks.org/the-ultimate-beginners-guide-for-dsa/amp/

Cracking the coding interview FREE BOOK

https://www.pdfdrive.com/cracking-the-coding-interview-189-programming-questions-and-solutions-d175292720.html

DSA Interview Questions and Answers

https://t.me/crackingthecodinginterview/77

Data Science Interview Questions and Answers

https://t.me/datasciencefun/958

Java Interview Questions with Answers

https://t.me/Curiousprogrammer/106

โžค System Design and Architecture (HLD):

1. Design a Unique ID Generator Service
2. Design a URL Shortening Service
3. Design Whatsapp
4. Design Instagram/Twitter News Feed
5. Design Search Autocomplete | Design Typeahead
6. Design Zomato Restaurant Search | Design Proximity Service

Best DSA RESOURCES: https://topmate.io/coding/886874

All the best ๐Ÿ‘๐Ÿ‘
๐Ÿ‘18โค6๐Ÿฅฐ1
You MUST Learn CI/CD with Github Actions. ๐Ÿ˜Ž

GitHub Actions workflow is a typical setup for automating the process of building, testing, and deploying code, ensuring that only code that passes all tests gets deployed to production. ๐Ÿ’ก

1. Workflow :
โœ… The title at the top (name: CI/CD with GitHub Actions) indicates the name of the workflow. This name helps to identify the workflow among others in the repository.

2. Trigger (on):
โœ… The on keyword specifies the event that triggers this workflow. In this case, the workflow is triggered by a push event to the main branch. This means that whenever a commit is pushed to the main branch, the workflow will run automatically.

3. Jobs:
โœ… The jobs section defines the tasks that will be executed in this workflow. There are two jobs defined here: build and deploy.

3.1 Build Job: โœ…
- runs-on: specifies the virtual environment where the job will run. Here, ubuntu-latest means it will run on the latest version of Ubuntu provided by GitHub Actions.

- โœ…Steps:
1. Checkout Repository: Uses the actions/checkout@v2 action to clone the repository's code into the workflow environment.
2. Set up Node.js: Uses the actions/setup-node@v3 action to install Node.js version 14, preparing the environment to run Node.js commands.
3. Install Dependencies: Runs npm install to install the project's dependencies defined in package.json.
4. Run Tests: Executes npm test to run the project's tests.

3.2 Deploy Job: โœ…
- needs: specifies that the deploy job depends on the success of the build job. It will only run if the build job completes successfully.
- runs-on: Like the build job, the deploy job also runs on ubuntu-latest.

- Steps: โœ…
1. Deploy to Production:
The run block contains a simple shell script that checks if the build job was successful. If it was, it echoes "Deployment logic goes here" (which is where you would put the actual deployment commands). If the build failed, it outputs "Build failed, skipping deployment".
๐Ÿ‘10
Unpopular opinion: FAANG job interviews are harder than the actual job.
๐Ÿ‘9โค2
I have created the list of top 100 product based companies to target in 2024. You can access it for free now
๐Ÿ‘‡๐Ÿ‘‡
https://topmate.io/coding/1076270

Please give your ratings if you like the product

ENJOY LEARNING ๐Ÿ‘๐Ÿ‘
๐Ÿ‘9โค2๐Ÿฅฐ2
API design involves making decisions about how your API will interact with consumers.

The major API design choices are:

REST (Representational State Transfer): It uses HTTP methods (GET, POST, PUT, DELETE) for CRUD operations on resources. It's stateless and commonly used for web-based APIs

GraphQL: Query language for APIs, it allows clients to request specific data

RPC (Remote Procedure Call): High-performance, language-agnostic framework, often used in microservices architectures
๐Ÿ‘9โค1
โค12๐Ÿ‘2
A doubly linked list has two pointers โ€˜leftโ€™ and โ€˜rightโ€™ which enable it to traverse in either direction. Compared to singly liked list which has only a โ€˜nextโ€™ pointer, doubly linked list requires extra space to store this extra pointer. Every insertion and deletion requires manipulation of two pointers, hence it takes a bit longer time. Implementing doubly linked list involves setting both left and right pointers to correct nodes and takes more time than singly linked list.
๐Ÿ‘7