Coding interview preparation
5.82K subscribers
477 photos
1 video
97 files
168 links
Coding interview preparation for software engineers

Daily interview questions, algorithms, data structures & clean solutions.

Real interview tasks and problems.
Join πŸ‘‰ https://rebrand.ly/bigdatachannels

DMCA: @disclosure_bds
Contact: @mldatascientist
Download Telegram
❔Interviewer:
Explain how a hash map works internally.


βœ… Answer:

A hash map stores key value pairs by applying a hash function to the key to compute an index in an underlying array. Ideally, the hash function distributes keys uniformly to minimize collisions.

When collisions occur, common strategies include chaining using linked lists or open addressing. Lookups, insertions, and deletions are O(1) on average but can degrade toward O(n) in worst case collision scenarios.

In modern implementations like Java’s HashMap, when collision chains grow beyond a threshold, they may be converted into balanced trees to maintain efficient performance.
❀4
❔Interviwer:
What happens when you type a URL into the browser?


βœ… Answer:

When a URL is entered, the browser first checks its cache and then performs DNS resolution to translate the domain name into an IP address.

Next, the browser establishes a TCP connection with the server, followed by a TLS handshake if the connection is HTTPS. The browser then sends an HTTP request to the server.

The server processes the request and returns an HTTP response. Finally, the browser parses the HTML, constructs the DOM and CSSOM, executes JavaScript if present, and renders the page to the screen.
πŸ™6
RESTful API Design Checklist
❀4
❔Interviewer:
How would you handle a sudden spike in traffic?


βœ… Answer:

I would approach this in layers. In the short term, I would protect the system using rate limiting and load shedding to prevent total failure.

Next, I would ensure horizontal scaling behind a load balancer so additional instances can absorb the traffic. I would also introduce caching for frequently requested data and consider using a message queue to smooth traffic spikes.

Long term, I would analyze traffic patterns and redesign any bottlenecks to make the system more resilient to bursty workloads.
πŸ₯°3
❔Interviewer:
How do you learn a new technology quickly?


βœ… Answer:

My approach is to first understand the core mental model by reading the official documentation rather than jumping straight into tutorials.

Then I build a small end to end project to get hands on familiarity. After that, I study real world production use cases to understand best practices and common pitfalls.

Finally, I try to apply the technology in a meaningful project because I find retention is much higher when learning is tied to real problems.
πŸ‘2
Forwarded from Programming Quiz Channel
Which structure is best for undo operations?
Anonymous Quiz
25%
Queue
46%
Stack
22%
Heap
7%
Graph
❔Interviewer:
What is a race condition and how do you prevent it?


βœ… Answer:

A race condition occurs when multiple threads access and modify shared data concurrently, and the final result depends on the timing of their execution. This can lead to inconsistent or unpredictable behavior.

To prevent race conditions, I typically use synchronization mechanisms such as mutexes, locks, or semaphores to ensure only one thread modifies critical sections at a time. In some cases, I prefer immutable data structures or atomic operations to reduce locking overhead. The choice depends on the performance requirements and contention level.
❀2
Forwarded from Programming Quiz Channel
Which algorithm technique solves overlapping subproblems?
Anonymous Quiz
9%
Greedy
30%
Divide and conquer
47%
Dynamic programming
15%
Backtracking
❀3
Cloudflare vs AWS vs Azure
❀2πŸ‘2
Batch of Web Development Interview Questions

❔ How would you optimize a website that is loading too slowly?

βœ… Answer:

I would start by analyzing the 'Critical Rendering Path' using tools like Lighthouse or Chrome DevTools to identify the biggest bottlenecks, whether it's large images, render-blocking JavaScript, or slow server response times.

Next, I would implement immediate 'Quick Wins' on the frontend. This includes compressing and converting images to modern formats like WebP, minifying CSS/JS files, and using "Lazy Loading" so that off-screen images only load when the user scrolls to them. I would also move non-essential scripts to the end of the HTML or use async/defer attributes.

Long term, I would look at architectural improvements. This might involve implementing a Content Delivery Network (CDN) to serve assets closer to the user, setting up efficient browser caching strategies, and potentially moving from a standard Client-Side Rendering (CSR) model to Server-Side Rendering (SSR) or Static Site Generation (SSG) to ensure the first paint happens as fast as possible.



❔What is CORS, and how do you resolve 'CORS Errors' in production?

βœ… Answer:

I would explain that CORS (Cross-Origin Resource Sharing) is a browser security feature that prevents a web page from making requests to a different domain than the one that served it. It’s the browser's way of protecting users from malicious scripts.

In the short term, to fix a CORS error, I would configure the backend headers. I’d ensure the server sends the Access-Control-Allow-Origin header specifying the exact domain of the frontend. During development, a proxy can be used, but for production, the server must explicitly whitelist the allowed origins.

Long term, I would ensure the security strategy is robust. Instead of using wildcards (*), which are dangerous, I would implement a dynamic whitelist. I would also ensure that sensitive "pre-flight" requests (OPTIONS) are handled correctly by the server and that any authentication cookies are managed using the SameSite and Secure attributes to maintain a high security posture while allowing cross-origin functionality.



❔When should you choose Server-Side Rendering (SSR) over Static Site Generation (SSG)?

βœ… Answer:

I would base the decision on how often the data changes. I’d use SSG (Static Site Generation) for pages where the content is the same for every user and doesn't change frequently like a blog, a documentation site, or a marketing page. SSG is the fastest option because the HTML is built once at build time.

I would choose SSR (Server-Side Rendering) for pages that need to show real-time, user-specific data, such as a personalized dashboard or a search results page. Since the server generates a fresh HTML page for every request, the user always sees the most up-to-date information, which is also great for SEO on dynamic pages.

Long term, I would look into Hybrid approaches like Incremental Static Regeneration (ISR). This allows us to keep the speed of SSG but update specific static pages in the background as data changes, giving us the best of both worlds, performance and freshness, without taxing the server on every single hit.
πŸ”₯3❀1
Forwarded from Programming Quiz Channel
Which programming paradigm focuses on functions without side effects?
Anonymous Quiz
40%
OOP
35%
Functional
16%
Procedural
10%
Imperative
❀5
❔Interviewer:
Why is testing important if the code already works?


βœ… Answer:

Code that appears to work for known cases may still fail under edge conditions, future changes, or unexpected inputs. Testing provides confidence that the system behaves correctly across scenarios and helps prevent regressions.

Automated tests also improve maintainability by allowing developers to refactor safely and catch issues early in the development cycle.

In production systems, testing is less about proving the code works once and more about ensuring it continues to work as the system evolves.
πŸ‘3
Batch of Data Science Interview Questions

❔Explain the Bias-Variance Tradeoff in simple terms.

βœ… Answer:

Bias is error from overly simple assumptions (Underfitting). The model misses patterns. Variance is error from over-sensitivity to noise in training data (Overfitting). The model fails on new data.

Strategy: I aim for the "sweet spot" where both errors are minimized. I use Cross-Validation to monitor this balance. If bias is high, I increase model complexity. If variance is high, I use regularization or more data.



❔How do you choose between Precision and Recall?

βœ… Answer:

It depends on the cost of a mistake. Precision matters when "False Alarms" are expensive (e.g., marking a safe email as Spam). Recall matters when "Missing a Case" is dangerous (e.g., failing to detect Cancer).

Strategy: I use the F1-Score if I need a balance between the two. For business stakeholders, I always translate these into "Lost Revenue" or "Customer Trust" to make the trade-off clear.



❔What is the difference between Random Forest and XGBoost?

βœ… Answer:

Random Forest uses "Bagging", it builds many independent trees in parallel and averages them. It’s hard to overfit and works great out of the box.

XGBoost uses "Boosting", it builds trees sequentially, where each new tree tries to fix the errors of the previous one.

Strategy: I start with Random Forest as a robust baseline. I move to XGBoost (or LightGBM) when I need maximum accuracy and have the time to fine-tune hyperparameters.



❔ How do you handle a dataset where 99% of labels are 'Class A' and only 1% are 'Class B'?

βœ… Answer:

First, I stop using Accuracy as a metric, as a "dumb" model would be 99% accurate by just guessing 'Class A'. I switch to AUPRC or Confusion Matrices.

Techniques: I use Resampling (Oversampling the minority or Undersampling the majority). I also use "Class Weights" in the model settings to penalize mistakes on the 1% more heavily.



❔What is the purpose of PCA (Principal Component Analysis)?

βœ… Answer:

PCA is a dimensionality reduction tool. It transforms many correlated features into a smaller set of uncorrelated variables called "Principal Components" while keeping as much variance (information) as possible.

Usage: I use it to speed up training and reduce "Noise." Caution: It makes features hard to interpret. If the business needs to know why a prediction was made, I avoid PCA and use Feature Selection instead.
❀4πŸ‘3
Forwarded from Programming Quiz Channel
A program works fine for small inputs but slowly drastically for large ones. The likely issue?
Anonymous Quiz
9%
Syntax
32%
Memory leak
14%
Variable scope
45%
Poor time complexity
❔Interviewer:
How would you explain the difference between a Process and a Thread?


βœ… Answer:

I would define them based on their relationship to resources and execution. A Process is an independent program in execution with its own dedicated memory space (stack, heap, and registers). Because processes are isolated, they don't interfere with each other, but communicating between them (IPC) is resource-heavy.

A Thread is a "lightweight" unit of execution that lives inside a process. Multiple threads share the same memory space and resources of their parent process. This makes communication between threads very fast and efficient, but it also introduces risks like "Race Conditions," where two threads try to modify the same data at the same time.

In short: A process is the container, while threads are the workers inside that container. If a process crashes, it doesn't affect others; but if a thread crashes in a way that corrupts shared memory, it can take down the entire process.
πŸ‘5