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!
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 ๐๐
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 ๐๐
๐๐
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
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.
โ 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.
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 ๐๐
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 (
2. Trigger (
โ The
3. Jobs:
โ The
3.1 Build Job: โ
-
- โ Steps:
1. Checkout Repository: Uses the
2. Set up Node.js: Uses the
3. Install Dependencies: Runs
4. Run Tests: Executes
3.2 Deploy Job: โ
-
-
- Steps: โ
1. Deploy to Production:
The
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
Forwarded from Google Jobs - FAANG Companies โข Facebook โข Microsoft โข Amazon โข Netflix โข Apple
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 ๐๐
๐๐
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
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
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
https://topmate.io/coding/886874
If you're a job seeker, these well structured document DSA resources will help you to know and learn all the real time DSA & OOPS Interview questions with their exact answer. folks who are having 0-4+ years of experience have cracked the interview using this guide!
Please use the above link to avail them!๐
NOTE: -Most people hoard resources without actually opening them even once! The reason for keeping a small price for these resources is to ensure that you value the content available inside this and encourage you to make the best out of it.
Hope this helps in your job search journey... All the best!๐โ๏ธ
If you're a job seeker, these well structured document DSA resources will help you to know and learn all the real time DSA & OOPS Interview questions with their exact answer. folks who are having 0-4+ years of experience have cracked the interview using this guide!
Please use the above link to avail them!๐
NOTE: -Most people hoard resources without actually opening them even once! The reason for keeping a small price for these resources is to ensure that you value the content available inside this and encourage you to make the best out of it.
Hope this helps in your job search journey... All the best!๐โ๏ธ
๐8โค2
Programming is no longer about how well you google search.
Programming is now about how well you can write prompts for an ai system to generate code for you
Programming is now about how well you can write prompts for an ai system to generate code for you
๐21๐6โค3๐1
DSA INTERVIEW QUESTIONS AND ANSWERS
1. What is the difference between file structure and storage structure?
The difference lies in the memory area accessed. Storage structure refers to the data structure in the memory of the computer system,
whereas file structure represents the storage structure in the auxiliary memory.
2. Are linked lists considered linear or non-linear Data Structures?
Linked lists are considered both linear and non-linear data structures depending upon the application they are used for. When used for
access strategies, it is considered as a linear data-structure. When used for data storage, it is considered a non-linear data structure.
3. How do you reference all of the elements in a one-dimension array?
All of the elements in a one-dimension array can be referenced using an indexed loop as the array subscript so that the counter runs
from 0 to the array size minus one.
4. What are dynamic Data Structures? Name a few.
They are collections of data in memory that expand and contract to grow or shrink in size as a program runs. This enables the programmer
to control exactly how much memory is to be utilized.Examples are the dynamic array, linked list, stack, queue, and heap.
5. What is a Dequeue?
It is a double-ended queue, or a data structure, where the elements can be inserted or deleted at both ends (FRONT and REAR).
6. What operations can be performed on queues?
enqueue() adds an element to the end of the queue
dequeue() removes an element from the front of the queue
init() is used for initializing the queue
isEmpty tests for whether or not the queue is empty
The front is used to get the value of the first data item but does not remove it
The rear is used to get the last item from a queue.
7. What is the merge sort? How does it work?
Merge sort is a divide-and-conquer algorithm for sorting the data. It works by merging and sorting adjacent data to create bigger sorted
lists, which are then merged recursively to form even bigger sorted lists until you have one single sorted list.
8.How does the Selection sort work?
Selection sort works by repeatedly picking the smallest number in ascending order from the list and placing it at the beginning. This process is repeated moving toward the end of the list or sorted subarray.
Scan all items and find the smallest. Switch over the position as the first item. Repeat the selection sort on the remaining N-1 items. We always iterate forward (i from 0 to N-1) and swap with the smallest element (always i).
Time complexity: best case O(n2); worst O(n2)
Space complexity: worst O(1)
9. What are the applications of graph Data Structure?
Transport grids where stations are represented as vertices and routes as the edges of the graph
Utility graphs of power or water, where vertices are connection points and edge the wires or pipes connecting them
Social network graphs to determine the flow of information and hotspots (edges and vertices)
Neural networks where vertices represent neurons and edge the synapses between them
10. What is an AVL tree?
An AVL (Adelson, Velskii, and Landi) tree is a height balancing binary search tree in which the difference of heights of the left
and right subtrees of any node is less than or equal to one. This controls the height of the binary search tree by not letting
it get skewed. This is used when working with a large data set, with continual pruning through insertion and deletion of data.
11. Differentiate NULL and VOID ?
Null is a value, whereas Void is a data type identifier
Null indicates an empty value for a variable, whereas void indicates pointers that have no initial size
Null means it never existed; Void means it existed but is not in effect
You can check these resources for Coding interview Preparation
Credits: https://t.me/free4unow_backup
All the best ๐๐
1. What is the difference between file structure and storage structure?
The difference lies in the memory area accessed. Storage structure refers to the data structure in the memory of the computer system,
whereas file structure represents the storage structure in the auxiliary memory.
2. Are linked lists considered linear or non-linear Data Structures?
Linked lists are considered both linear and non-linear data structures depending upon the application they are used for. When used for
access strategies, it is considered as a linear data-structure. When used for data storage, it is considered a non-linear data structure.
3. How do you reference all of the elements in a one-dimension array?
All of the elements in a one-dimension array can be referenced using an indexed loop as the array subscript so that the counter runs
from 0 to the array size minus one.
4. What are dynamic Data Structures? Name a few.
They are collections of data in memory that expand and contract to grow or shrink in size as a program runs. This enables the programmer
to control exactly how much memory is to be utilized.Examples are the dynamic array, linked list, stack, queue, and heap.
5. What is a Dequeue?
It is a double-ended queue, or a data structure, where the elements can be inserted or deleted at both ends (FRONT and REAR).
6. What operations can be performed on queues?
enqueue() adds an element to the end of the queue
dequeue() removes an element from the front of the queue
init() is used for initializing the queue
isEmpty tests for whether or not the queue is empty
The front is used to get the value of the first data item but does not remove it
The rear is used to get the last item from a queue.
7. What is the merge sort? How does it work?
Merge sort is a divide-and-conquer algorithm for sorting the data. It works by merging and sorting adjacent data to create bigger sorted
lists, which are then merged recursively to form even bigger sorted lists until you have one single sorted list.
8.How does the Selection sort work?
Selection sort works by repeatedly picking the smallest number in ascending order from the list and placing it at the beginning. This process is repeated moving toward the end of the list or sorted subarray.
Scan all items and find the smallest. Switch over the position as the first item. Repeat the selection sort on the remaining N-1 items. We always iterate forward (i from 0 to N-1) and swap with the smallest element (always i).
Time complexity: best case O(n2); worst O(n2)
Space complexity: worst O(1)
9. What are the applications of graph Data Structure?
Transport grids where stations are represented as vertices and routes as the edges of the graph
Utility graphs of power or water, where vertices are connection points and edge the wires or pipes connecting them
Social network graphs to determine the flow of information and hotspots (edges and vertices)
Neural networks where vertices represent neurons and edge the synapses between them
10. What is an AVL tree?
An AVL (Adelson, Velskii, and Landi) tree is a height balancing binary search tree in which the difference of heights of the left
and right subtrees of any node is less than or equal to one. This controls the height of the binary search tree by not letting
it get skewed. This is used when working with a large data set, with continual pruning through insertion and deletion of data.
11. Differentiate NULL and VOID ?
Null is a value, whereas Void is a data type identifier
Null indicates an empty value for a variable, whereas void indicates pointers that have no initial size
Null means it never existed; Void means it existed but is not in effect
You can check these resources for Coding interview Preparation
Credits: https://t.me/free4unow_backup
All the best ๐๐
๐10
How to guess the solution for DSA problems?
Yes, it is possible.
You can predict the solution for a problem by analyzing the constraints.
Curious if you need a greedy approach or a backtracking solution? Trying to decide between an O(n^3) or an O(n log n) approach? Just scroll down the LeetCode question and look at the constraints of the main element.
Wondering if you should use dynamic programming or plain recursion? Should your solution be O(n^2) or O(n)? Simply examine the constraints of the main variable.
Here's a quick guide based on the value of (n):
- If n <= 12 Time complexity can be O(n!).
- If n <= 25 Time complexity can be O(2^n).
- If n <= 100 Time complexity can be O(n^4).
- If n <= 500 Time complexity can be O(n^3).
- If n <= 10 ^ 4 Time complexity can be O(n^2).
- If n <= 10 ^ 6 Time complexity can be O(n log n).
- If n <= 10 ^ 8 Time complexity can be O(n).
- If n > 10 ^ 8 Time complexity can be O(log n) or 0(1).
- If n <= 10 ^ 9 Time complexity can be O(sqrt{n}).
- If n > 10 ^ 9 Time complexity can be O(log n) or 0(1).
Understanding these constraints can help you choose the right algorithm and improve your problem-solving efficiency.
Best DSA RESOURCES: https://topmate.io/coding/886874
All the best ๐๐
Yes, it is possible.
You can predict the solution for a problem by analyzing the constraints.
Curious if you need a greedy approach or a backtracking solution? Trying to decide between an O(n^3) or an O(n log n) approach? Just scroll down the LeetCode question and look at the constraints of the main element.
Wondering if you should use dynamic programming or plain recursion? Should your solution be O(n^2) or O(n)? Simply examine the constraints of the main variable.
Here's a quick guide based on the value of (n):
- If n <= 12 Time complexity can be O(n!).
- If n <= 25 Time complexity can be O(2^n).
- If n <= 100 Time complexity can be O(n^4).
- If n <= 500 Time complexity can be O(n^3).
- If n <= 10 ^ 4 Time complexity can be O(n^2).
- If n <= 10 ^ 6 Time complexity can be O(n log n).
- If n <= 10 ^ 8 Time complexity can be O(n).
- If n > 10 ^ 8 Time complexity can be O(log n) or 0(1).
- If n <= 10 ^ 9 Time complexity can be O(sqrt{n}).
- If n > 10 ^ 9 Time complexity can be O(log n) or 0(1).
Understanding these constraints can help you choose the right algorithm and improve your problem-solving efficiency.
Best DSA RESOURCES: https://topmate.io/coding/886874
All the best ๐๐
๐9
Top 9 Http Methods-
GET ๐ง - Retrieve data from a resource.
HEAD ๐ง - Retrieve the headers of a resource.
POST ๐ฎ - Submit data to a resource.
PUT ๐ฅ - Update an existing resource or create a new resource.
DELETE ๐๏ธ - Remove a resource.
CONNECT ๐ - Establish a network connection for a resource.
OPTIONS โ๏ธ - Describe communication options for the target resource.
TRACE ๐ต๏ธโโ๏ธ - Retrieve a diagnostic trace of the request.
PATCH ๐ฉน - Apply a partial update to a resource.
GET ๐ง - Retrieve data from a resource.
HEAD ๐ง - Retrieve the headers of a resource.
POST ๐ฎ - Submit data to a resource.
PUT ๐ฅ - Update an existing resource or create a new resource.
DELETE ๐๏ธ - Remove a resource.
CONNECT ๐ - Establish a network connection for a resource.
OPTIONS โ๏ธ - Describe communication options for the target resource.
TRACE ๐ต๏ธโโ๏ธ - Retrieve a diagnostic trace of the request.
PATCH ๐ฉน - Apply a partial update to a resource.
โค6๐5