Coding interview preparation
5.8K subscribers
368 photos
52 files
163 links
Download Telegram
Part 2 of the Deep Python Roadmap for Beginners πŸ”°

File Handling & Exceptions πŸ“‚πŸš¨
β€’ Read/write files (text, CSV, JSON)
β€’ Use try/except/finally for error handling

Modules & Environments πŸ“¦πŸŒ
β€’ Organize code with modules and packages
β€’ Manage dependencies with pip and virtual environments

Advanced Concepts πŸ”₯πŸ”
β€’ Work with decorators, generators, and context managers

Testing & Debugging πŸžβœ…
β€’ Write tests using unittest or pytest
β€’ Utilize debugging tools and linters

APIs & Web Development πŸŒπŸ”—
β€’ Interact with RESTful APIs
β€’ Start with frameworks like Flask or Django

Data Analysis & Visualization πŸ“ŠπŸŽ¨
β€’ Use NumPy and Pandas for data handling
β€’ Visualize with Matplotlib or Seaborn

Asynchronous Programming β°πŸ”€
β€’ Learn threading, multiprocessing, and async/await

Version Control & Deployment πŸ”πŸš€
β€’ Master Git basics and collaborative workflows
β€’ Explore deployment strategies and CI/CD practices

Project Building & Community πŸ—οΈπŸŒ
β€’ Build projects, contribute to open-source, and join communities

React ❀️ for more roadmaps
❀1
Theoretical Questions for Interviews on Array

1. What is an array?

An array is a data structure consisting of a collection of elements, each identified by at least one array index or key.

2. How do you declare an Array?

Each language has its own way of declaring arrays, but the general idea is similar: defining the type of elements and the number of elements or initializing it directly.

βœ… C/C++: int arr[5]; (Declares an array of 5 integers).
βœ… Java: int[] arr = new int[5]; (Declares and initializes an array of 5 integers).
βœ… Python: arr = [1, 2, 3, 4, 5] (Uses a list, which functions like an array and doesn’t require a fixed size).
βœ… JavaScript: let arr = [1, 2, 3, 4, 5]; (Uses arrays without needing a size specification).
βœ… C#: int[] arr = new int[5]; (Declares an array of 5 integers).

3. Can an array be resized at runtime?

An array is fixed in size once created. However, in C, you can resize an array at runtime using Dynamic Memory Allocation (DMA) with malloc() or realloc(). Most modern languages have dynamic-sized arrays like vector in C++, list in Python, and ArrayList in Java, which automatically resize.

4. Is it possible to declare an array without specifying its size?

In C/C++, declaring an array without specifying its size is not allowed and causes a compile-time error. However, in C, we can create a pointer and allocate memory dynamically using malloc(). In C++, we can use vectors where we can declare first and then dynamically add elements. In modern languages like Java, Python, and JavaScript, we can declare without specifying the size.

5. What is the time complexity for accessing an element in an array?

The time complexity for accessing an element in an array is O(1), as it can be accessed directly using its index.

6. What is the difference between an array and a linked list?

An array is a static data structure, while a linked list is a dynamic data structure. Raw arrays have a fixed size, and elements are stored consecutively in memory, while linked lists can grow dynamically and do not require contiguous memory allocation. Dynamic-sized arrays allow flexible size, but the worst-case time complexity for insertion/deletion at the end becomes more than O(1). With a linked list, we get O(1) worst-case time complexity for insertion and deletion.

7. How would you find out the smallest and largest element in an array?

The best approach is iterative (linear search), while other approaches include recursive and sorting.

Iterative method

Algorithm:

1. Initialize two variables:

small = arr[0] (first element as the smallest).

large = arr[0] (first element as the largest).



2. Traverse through the array from index 1 to n-1.


3. If arr[i] > large, update large = arr[i].


4. If arr[i] < small, update small = arr[i].


5. Print the values of small and large.



C++ Code Implementation

#include <iostream>
using namespace std;

void findMinMax(int arr[], int n) {
    int small = arr[0], large = arr[0];

    for (int i = 1; i < n; i++) {
        if (arr[i] > large) 
            large = arr[i];
        if (arr[i] < small) 
            small = arr[i];
    }

    cout << "Smallest element: " << small << endl;
    cout << "Largest element: " << large << endl;
}

int main() {
    int arr[] = {7, 2, 9, 4, 1, 5};
    int n = sizeof(arr) / sizeof(arr[0]);

    findMinMax(arr, n);

    return 0;
}

8. What is the time complexity to search in an unsorted and sorted array?

βœ… Unsorted Array: The time complexity for searching an element in an unsorted array is O(n), as we may need to check every element.
βœ… Sorted Array: The time complexity for searching an element in a sorted array is O(log n) using binary search.

πŸ”Ή O(log n) takes less time than O(n), whereas O(n log n) takes more time than O(n).
❀3
AI Solutions
❀1
All 25 Algorithms...
100+ Practice Questions

❍ C/C++
❍ Python
❍ JavaScript
❍ Java
❍ C#
❍ Golang

➊ Simple Numbers

βž€ Find a digit at a specific place in a number
➁ Find count of digits in a number
βž‚ Find the largest digit
βžƒ Find the 2nd largest digit
βž„ Find the kth largest digit
βž… Find the smallest digit
βž† Find the 2nd smallest digit
βž‡ Find the kth smallest digit
➈ Find generic root (sum of all digits) of a number
βž‰ Reverse the digits in a number
βž€βž€ Rotate the digits in a number
βž€βž Is the number a palindrome?
βž€βž‚ Find sum of 'n' numbers
βž€βžƒ Check if a number is perfect square
βž€βž„ Find a number in an AP sequence
βž€βž… Find a number in a GP sequence
βž€βž† Find a number in fibonacci sequence
βž€βž‡ Check number divisibility by 2, 3, 5, 9
βž€βžˆ Check if a number is primary or not
20. Given a number, print all primes smaller than it
βžβž€ Check if a number is circular prime or not
➁➁ Find all prime factors of a number
βžβž‚ Find the GCD of 2 numbers
βžβžƒ Find the LCM of 2 numbers
βžβž„ Find the factorial of a number
βžβž… Find the exponentiation of a number

βž‹ Unit Conversion

βž€ Number Base (Binary, Octal, Hexadecimal, Decimal)
➁ Weight (gram, kg, pound)
βž‚ Height (cm, m, inch, feet)
βžƒ Temperature (centigrade, fahrenhite)
βž„ Distance (km, mile)
βž… Area (mΒ², kmΒ², acre)
βž† Volume (ltr, gallon)
βž‡ Time (sec, min, hour)
➈ Currency

➌ Calculator

βž€ Loan EMI Calculator
➁ Fixed Deposit Returns Calculator
βž‚ Interest Calculator
βžƒ BMI Calculator
βž„ Item Price (considering tax, discount, shipping)
βž… Tip Calculator

➍ Geometry

βž€ Find distance between 2 points
➁ Given 2 sides of a right angle triangle, find the 3rd
βž‚ Find 3rd angle of a triangle when 2 are given
βžƒ Area of a triangle when 3 sides are given
βž„ Area of a right angle triangle
βž… Perimeter of a Square
βž† Area of a Square
βž‡ Perimeter of a Rectangle
➈ Area of a Rectangle
βž‰ Circumference of a Circle
βž€βž€ Area of a Circle
βž€βž Circumference of a Semi-Circle
βž€βž‚ Area of a Semi-Circle
βž€βžƒ Area of a Ring
βž€βž„ Circumference of an Ellipse
βž€βž… Area of an Ellipse
βž€βž† Suface Area of a Sphere
βž€βž‡ Volume of a Sphere
βž€βžˆ Surface Area of a Hemisphere
20. Volume of a Hemisphere
βžβž€ Surface area of a Cube
➁➁ Volume of a Cube
βžβž‚ Surface area of a Cylinder
βžβžƒ Volume of a Cylinder

➎ Vector

βž€ Find Scalar Multiplication of a vector
➁ Find addition/subtraction of vectors
βž‚ Find magnitude of a vector
βžƒ Find an unit vector along a given vector
βž„ Find dot product of 2 vectors
βž… Find cross product of 2 vectors
βž† Check if 2 vectors are orthogonal

➏ Matrix

βž€ Find the determinant of a matrix
➁ Find Scalar Multiplication of a matrix
βž‚ Find addition/subtraction of matrices
βžƒ Find the transpose of a matrix
βž„ Find if 2 matrices are orthogonal
βž… Find inverse of a 2x2 and 3x3 matrix

➐ Set

βž€ Find Union of 2 sets
➁ Find Intersection of 2 sets
βž‚ Find the Difference of 2 sets
βžƒ Find the Symmetric Difference of 2 sets
βž„ Find if a set is subset/superset of another set
βž… Find if 2 sets are disjoints

βž‘ Special Numbers

βž€ Strong Number
➁ Perfect Number
βž‚ Armstrong Number
βžƒ Harshad Number
βž„ Kaprekar Number
βž… Lychrel Number
βž† Narcissistic Decimal Number
βž‡ Lucus Number
➈ Catalan Number
βž‰ Duck Number
βž€βž€ Ugly Number
βž€βž Abundant Number
βž€βž‚ Deficient Number
βž€βžƒ Automorphic Number
βž€βž„ Magic Number
βž€βž… Friendly Pair Numbers
βž€βž† Neon Number
βž€βž‡ Spy Number
βž€βžˆ Happy Number
20. Sunny Number
βžβž€ Disarium Number
➁➁ Pronic Number
βžβž‚ Trimorphic Number
βžβžƒ Evil Number
βžβž„ Amicable Pairs
❀1
Getting job offers as a developer involves several steps:πŸ‘¨β€πŸ’»πŸš€

1. Build a Strong Portfolio: Create a portfolio of projects that showcase your skills. Include personal projects, open-source contributions, or freelance work. This demonstrates your abilities to potential employers.πŸ‘¨β€πŸ’»

2. Enhance Your Skills: Stay updated with the latest technologies and trends in your field. Consider taking online courses, attending workshops, or earning certifications to bolster your skills.πŸš€

3. Network: Attend industry events, conferences, and meetups to connect with professionals in your field. Utilize social media platforms like LinkedIn to build a professional network.πŸ”₯

4. Resume and Cover Letter: Craft a tailored resume and cover letter for each job application. Highlight relevant skills and experiences that match the job requirements.πŸ“‡

5. Job Search Platforms: Utilize job search websites like LinkedIn, Indeed, Glassdoor, and specialized platforms like Stack Overflow Jobs, GitHub Jobs, or AngelList for tech-related positions. πŸ”

6. Company Research: Research companies you're interested in working for. Customize your application to show your genuine interest in their mission and values.πŸ•΅οΈβ€β™‚οΈ

7. Prepare for Interviews: Be ready for technical interviews. Practice coding challenges, algorithms, and data structures. Also, be prepared to discuss your past projects and problem-solving skills.πŸ“

8. Soft Skills: Develop your soft skills like communication, teamwork, and problem-solving. Employers often look for candidates who can work well in a team and communicate effectively.πŸ’»

9. Internships and Freelancing: Consider internships or freelancing opportunities to gain practical experience and build your resume. 🏠

10. Personal Branding: Maintain an online presence by sharing your work, insights, and thoughts on platforms like GitHub, personal blogs, or social media. This can help you get noticed by potential employers.πŸ‘¦

11. Referrals: Reach out to your network and ask for referrals from people you know in the industry. Employee referrals are often highly valued by companies.🌈

12. Persistence: The job search process can be challenging. Don't get discouraged by rejections. Keep applying, learning, and improving your skills.πŸ’―

13. Negotiate Offers: When you receive job offers, negotiate your salary and benefits. Research industry standards and be prepared to discuss your expectations.πŸ“‰

Remember that the job search process can take time, so patience is key. By focusing on these steps and continuously improving your skills and network, you can increase your chances of receiving job offers as a developer.
❀1
Common Coding Mistakes to Avoid
Even experienced programmers make mistakes.


Undefined variables:
Ensure all variables are declared and initialized before use.

Type coercion:
Be mindful of JavaScript's automatic type conversion, which can lead to unexpected results.

Incorrect scope:
Understand the difference between global and local scope to avoid unintended variable access.

Logical errors:
Carefully review your code for logical inconsistencies that might lead to incorrect output.

Off-by-one errors:
Pay attention to array indices and loop conditions to prevent errors in indexing and iteration.

Infinite loops:
Avoid creating loops that never terminate due to incorrect conditions or missing exit points.

Example:
// Undefined variable error
let result = x + 5; // Assuming x is not declared

// Type coercion error
let age = "30";
let isAdult = age >= 18; // Age will be converted to a number

By being aware of these common pitfalls, you can write more robust and error-free code.

Do you have any specific coding mistakes you've encountered recently?
Do you know these symbols?
Technologies used by Netflix
SCREENSHOTS IN PYTHON
πŸ’‘Use ZIP function to iterate over multiple lists simultaneously πŸ’‘
❀2πŸ‘1
IMPROVING API PERFORMANCE
DEVOPS CHEAT SHEET
❀2
A DEADLOCK?
❀1
INTERVIEW CHEATSHEET
❀3
NUMPY CHEATSHEET
❀1
MACHINE LEARNING
❀1
What do you think?
❀1πŸ‘1
Let's analyze the Python code step by step:

python
a = "Sun"
b = "Moon"
c = a
a = b
b = c
print(a + " and " + b)

Step-by-step breakdown:
1. `a = "Sun"` β†’ variable `a` now holds `"Sun"`.
2. `b = "Moon"` β†’ variable `b` now holds `"Moon"`.
3. `c = a` β†’ variable `c` is assigned the value of `a`, which is `"Sun"`.
4. `a = b` β†’ variable `a` is now assigned the value of `b`, which is `"Moon"`.
5. `b = c` β†’ variable `b` is now assigned the value of `c`, which is `"Sun"`.

Final values:
-a = "Moon"
-b = "Sun"`

So, the `print(a + " and " + b)` will output:


Moon and Sun

βœ… Correct answer: A. Moon and Sun
❀2