Unit VI is the professional launch unit — it converts everything you have learned into the practical capability to enter, survive and thrive in industry. Read the theory, then build the artefacts: a capstone execution plan, a question bank for interviews, a mock assessment, a 90-day launch strategy. Section VII provides full mock papers with solutions for comprehensive revision. Practice questions carry difficulty badges; attempt them closed-book before checking the solutions.
Units I–V gave you knowledge. Unit VI gives you execution. This is the unit that determines whether you get the interview, pass the interview, and succeed in the first months of your career. The content is deliberately practical: real interview questions, real capstone execution details, real launch strategies.
Unit V described how to plan a capstone. This section covers how to execute one — the practical realities of building something substantial within a tight deadline with a small team.
Most capstone projects fail not because of poor planning but because of poor execution: scope creep in week 6, integration hell in week 10, testing crammed into the last 3 days, and documentation written in a panic on the final night. This section addresses each of these failure modes directly.
| Day | Activity | Output | Duration |
|---|---|---|---|
| Monday | Sprint planning — pick the week's stories, estimate, assign | Weekly sprint backlog | 60 min |
| Tuesday–Thursday | Focused development with daily 15-min stand-ups | Committed code, tests | Daily 15 min |
| Friday morning | Code review, integration, testing | Merged features, test reports | 2–3 hours |
| Friday afternoon | Weekly demo to the team; update the project log | Demo recording, status update | 60 min |
| Sunday evening | Retrospective — what went well, what to change | 1–2 action items for next week | 30 min |
Every capstone should have explicit milestones with hard gates. A gate is a checkpoint that must be passed before proceeding; skipping a gate almost always causes problems later.
| Week | Milestone | Gate Criteria | Consequence of Failure |
|---|---|---|---|
| 2 | Problem validated | At least 10 potential users interviewed; problem confirmed | Pivot or refine the problem before proceeding |
| 4 | Design complete | Architecture diagram, ER diagram, API spec, wireframes reviewed | Design debt compounds; refactor cost grows exponentially |
| 6 | Walking skeleton | End-to-end flow working with stub data | Integration risk deferred to the end — too late |
| 9 | Feature complete | All must-have features implemented and integrated | Scope must be cut, not extended |
| 11 | Testing complete | Unit, integration and UAT complete; defects logged and triaged | Quality risk to demo and submission |
| 12 | Deployed and documented | Live deployment; README, user guide, architecture doc | Cannot demonstrate; portfolio artefact incomplete |
| 13–14 | Presentation ready | Demo rehearsed 3 times; report complete; slides ready | Poor presentation undermines strong work |
A walking skeleton is a minimal end-to-end implementation of the system — thin but complete. It exercises every architectural layer (UI → API → database → deployment) without implementing full business logic. It is not a prototype; it is a production-shaped skeleton.
Why it matters: integration is the largest source of schedule risk in any project. Building a walking skeleton by week 6 forces integration issues to surface while there is still time to address them. Teams that defer integration to the end almost always regret it.
Full feature set: authentication, notice posting, department filtering, push notifications, search, attachments, admin panel, analytics.
Walking skeleton (week 6):
GET /api/notices returning a JSON array (from the real database, not hard-coded).notices table with two rows inserted manually.What this validates: the front-end can talk to the back-end, the back-end can talk to the database, and the deployment pipeline works. Every subsequent feature is an increment to this skeleton rather than a new integration risk.
Anti-pattern to avoid: spending six weeks building the "perfect" back-end before the front-end touches it. By the time integration happens, mismatched assumptions cause days of rework.
| Scope Category | Definition | Behaviour Under Pressure |
|---|---|---|
| Must-have | Without these, the project fails its core objective | Protect absolutely — cut other scope instead |
| Should-have | Important but not critical; adds significant value | Deliver if time permits; can slip without catastrophic impact |
| Could-have | Nice-to-have; marginally improves the product | Cut first when schedule tightens |
| Won't-have | Explicitly out of scope | Never negotiate during execution |
This is the MoSCoW prioritisation method. Applying it explicitly at the start of the capstone prevents the "everything is important" trap that leads to partial delivery of many features instead of complete delivery of the critical ones.
Technical debt is the accumulated cost of shortcuts taken during development. In capstones, some debt is acceptable (you have a deadline); some is not.
| Acceptable Debt | Unacceptable Debt |
|---|---|
| Hard-coded configuration values in a dev environment | Hard-coded secrets in a public repository |
| Minimal UI styling on internal admin pages | Missing input validation on public forms |
| Skipped tests for a prototype feature that may be discarded | No tests for critical business logic |
| Simple monitoring (a single health endpoint) | No error handling — crashes on unexpected input |
| Manual deployment scripts | Deployment that only one team member can run |
| Temporary data migration scripts | Deleting the production database |
Rule of thumb: if the debt could cause a security breach, data loss, or an undiagnosable failure, it is unacceptable. If it merely slows development, it can be documented and accepted.
Documentation is often deferred to the end and then either skipped or written badly. The solution is to write documentation continuously, as part of the work.
| Document | When to Write It | Content |
|---|---|---|
| README | Week 6 (at the walking skeleton stage) | Problem, features, tech stack, setup, usage |
| Architecture decision records (ADRs) | As each significant decision is made | Context, decision, consequences, alternatives considered |
| API documentation | As each endpoint is built | Endpoint, method, parameters, response, error codes |
| Database schema documentation | Week 4 (with the schema) | Tables, columns, types, indexes, relationships |
| User guide | Week 10 (once features stabilise) | Screenshots, step-by-step instructions for common tasks |
| Test plan and results | Continuously | Test cases, expected results, actual results, defects |
| Final report | Weeks 12–14 (assembled from above) | The completed report, mostly assembled rather than newly written |
The most common demo failure is a live demo that depends on something outside your control: the campus Wi-Fi, a third-party API, or a cloud service that has an outage on the day. Prepare a fallback.
| Preparation Item | Purpose |
|---|---|
| Rehearse 3 times before the actual demo | Muscle memory; catch last-minute bugs |
| Record a backup video | In case the live demo fails |
| Run the demo on the same machine, browser and network you will use | Eliminates environment surprises |
| Prepare seed data | Shows the product populated, not empty |
| Have a script — but be ready to improvise | Guides flow; allows for questions |
| Prepare for the most likely 5 questions | Technical depth questions; scaling questions; failure scenarios |
| Test on a mobile device if the product is responsive | Shows breadth |
| Have the architecture diagram on screen | Enables discussion of design decisions |
| Week | Focus | Deliverable | Gate |
|---|---|---|---|
| 1 | Ideation and problem validation | Problem statement; user interview notes | 10 users interviewed |
| 2 | Requirements gathering | User stories with acceptance criteria; MoSCoW prioritisation | Requirements reviewed with supervisor |
| 3 | Architecture and design | Architecture diagram; ER diagram; API spec | Design review completed |
| 4 | UI/UX design | Wireframes; design system; component library | Wireframes validated with users |
| 5–6 | Walking skeleton | End-to-end thin slice working; deployed; CI running | Live URL exists; CI green |
| 7–8 | Must-have features (part 1) | Authentication; core data models; primary user flows | Core flows demonstrable |
| 9–10 | Must-have features (part 2) | Secondary flows; integrations; notifications | All must-haves complete |
| 11 | Testing and hardening | Unit tests; integration tests; UAT with 5 users | Defect rate < 5 per KLOC |
| 12 | Deployment and documentation | Production deployment; README; user guide | Live and documented |
| 13 | Report writing | Full report assembled from existing materials | Draft report complete |
| 14 | Presentation preparation | Slides; rehearsed demo; Q&A prep | 3 rehearsal runs completed |
| Metric | Target | How to Measure |
|---|---|---|
| Test coverage | ≥ 70% for critical modules | Coverage tool (Jest, pytest-cov, JaCoCo) |
| Defect density | < 5 defects per KLOC at release | Defect tracker ÷ lines of code |
| Uptime during demo period | ≥ 99% | Uptime monitoring |
| Response time (p95) | < 500 ms for primary user actions | APM tool or synthetic testing |
| Lighthouse score (web) | ≥ 90 for performance and accessibility | Chrome DevTools Lighthouse audit |
| UAT pass rate | ≥ 90% of test cases | User acceptance testing log |
| Documentation completeness | All sections present per checklist | Manual review against the checklist |
For any capstone-execution question, structure the answer around: (1) weekly rhythm, (2) milestone gates, (3) walking skeleton, (4) MoSCoW prioritisation, (5) acceptable vs unacceptable debt, (6) demo preparation. Show that you understand execution as a discipline, not just planning.
Campus placements follow a predictable rhythm across the final year. Understanding it allows you to prepare systematically rather than reactively.
| Period | Activity | What You Should Be Doing |
|---|---|---|
| Semester 5 (Jul–Dec) | Foundation building | DSA practice, 2–3 projects, first internship applications, resume draft |
| Semester 6 (Jan–Jun) | Internship and skill deepening | Complete an internship; earn one certification; build portfolio |
| Summer (Jun–Jul) | Internship period | Deliver real work; request a recommendation; document outcomes |
| Semester 7 (Jul–Dec) | Placement season | Aptitude prep, mock interviews, apply broadly, attend drives |
| Semester 8 (Jan–Jun) | Consolidation | Capstone completion; final placements; conversion of internship to PPO |
| Stage | Typical Format | What is Assessed | Preparation Focus |
|---|---|---|---|
| Resume screening | ATS + human review | Profile match, keywords, formatting | ATS-optimised CV; strong projects section |
| Online assessment | Aptitude + coding + domain MCQs | Speed, accuracy, problem-solving | Timed practice tests; DSA speed |
| Technical Round 1 | DSA on a shared editor | Problem-solving, communication, code quality | 150–300 DSA problems; mock interviews |
| Technical Round 2 | Domain depth + project discussion | Depth, ability to explain choices | Revise core CS; prepare project STAR stories |
| System Design (for some roles) | Design a scalable system | Architecture thinking, trade-offs | Study common designs; practise articulating trade-offs |
| HR Round | Motivation, goals, culture fit | Clarity of purpose, communication, honesty | Research the company; prepare thoughtful questions |
| Manager / Bar Raiser | Senior interviewer probes judgement | Values, integrity, ownership | Reflect on real decisions and outcomes |
| Category | Examples | Primary Emphasis | Preparation Priority |
|---|---|---|---|
| Product companies (large) | Google, Microsoft, Amazon, Adobe | DSA, system design, problem-solving | Deep DSA; 300+ problems; system design fundamentals |
| Product companies (mid/startup) | Flipkart, Razorpay, Zeta, Postman | DSA + practical skills + culture fit | DSA + strong projects; ability to ship |
| Service companies | TCS, Infosys, Wipro, Cognizant | Aptitude, communication, trainability | Aptitude prep; clear communication; basic coding |
| Consulting firms | Deloitte, EY, McKinsey (tech) | Case studies, communication, analytics | Case study practice; structured thinking |
| Quant / fintech | Optiver, Tower Research, DE Shaw | Mathematics, probability, low-latency systems | Probability; C++/Python; mental maths |
| Cybersecurity firms | Palo Alto, CrowdStrike, FireEye | Networks, OS, security concepts | Certifications; hands-on labs (TryHackMe, HackTheBox) |
| Core engineering (non-software) | ISRO, DRDO, Bosch, Siemens | GATE score, domain knowledge, projects | GATE preparation; domain depth |
| Section | Topics | Time per Question | Practice Resource |
|---|---|---|---|
| Quantitative | Percentages, ratios, time-speed-distance, profit-loss, permutations, probability | 60–90 sec | IndiaBix, R.S. Aggarwal |
| Logical Reasoning | Series, coding-decoding, blood relations, seating arrangement, puzzles | 60–90 sec | IndiaBix, previous year papers |
| Verbal | Reading comprehension, synonyms, antonyms, sentence correction | 45–60 sec | Vocabulary apps; RC practice |
| Coding | 1–3 DSA problems of easy to medium difficulty | 15–30 min each | LeetCode, HackerRank |
| Domain MCQs | DBMS, OS, networks, OOP basics | 45–60 sec | GeeksforGeeks quizzes, standard textbooks |
Solving 100 aptitude questions casually is far less valuable than solving 50 under time pressure. Aptitude tests measure speed as much as accuracy. Practice with a timer from the start — the mental discipline of working under a clock is a separate skill from the knowledge itself.
| Element | Strategy |
|---|---|
| Target roles | Identify 2–3 target role categories (e.g. SDE, data analyst, cloud engineer). Do not apply to everything. |
| Volume | Apply to 30–50 companies across categories. A 5–10% response rate is normal for freshers. |
| Tailoring | Maintain 2–3 CV variants (one per target role), each with the appropriate skills and projects emphasised. |
| Referrals | For every application at a target company, try to find a referral through alumni or LinkedIn. Referrals have a 10× higher response rate. |
| Tracking | Maintain a spreadsheet with company, role, date applied, referral (if any), status, next action. |
| Follow-up | Send a polite follow-up after 7–10 days if no response. Do not send more than one. |
| Post-rejection learning | Ask for feedback where possible. Treat each rejection as data about what to improve. |
| Channel | Approach | Success Rate |
|---|---|---|
| Alumni network | Personalised message referencing shared college context; specific ask | Highest — 30–50% response |
| LinkedIn connections | Warm introduction; reference a specific project or post | Moderate — 10–20% |
| College faculty | Ask for introductions to former students in target companies | High — depends on relationship |
| Technical communities | Engage meaningfully for weeks before asking for help | Moderate if relationship is genuine |
| Hackathons and events | Meet engineers in person; follow up within 24 hours | High if follow-up is personalised |
| Cold outreach | Personalised message to a hiring manager or engineer | Low — 1–5% |
Subject: CSE student seeking referral for SDE Intern role — Aarav Sharma
Hi Rahul,
I'm Aarav Sharma, a third-year CSE student at [University]. I came across
your profile through the alumni network — I noticed you graduated from
the same college in 2021 and now work at [Company].
I'm applying for the SDE Intern role at [Company] (Job ID: 12345). My
background: strong in Python and JavaScript, two deployed full-stack
projects, one AWS certification, and 350+ DSA problems solved. My
portfolio: github.com/aarav.
If you're open to it, would you be willing to refer me? I've attached
my resume. If not, no problem at all — I understand you're busy.
Thank you for your time.
Regards,
Aarav
Why it works:
Common mistakes: asking for a "referral" without specifying the role; sending a generic template; not providing a resume or portfolio link; asking for too much (e.g. "Can you get me a job?").
| Challenge | Strategy |
|---|---|
| Multiple rejections | Track leading indicators (applications sent, mock interviews done, problems solved) not just outcomes. Rejections are data, not verdicts. |
| Peer comparison | Everyone's journey differs. Compare yourself to your own past self, not to classmates. |
| Placement FOMO | Do not accept a role you know is a poor fit out of panic. But do not hold out indefinitely either. |
| Interview anxiety | Prepare thoroughly (the greatest antidote to anxiety); practise mock interviews until the format is familiar. |
| Burnout | Maintain sleep, exercise, and non-placement activity. A tired brain is an unproductive brain. |
| Imposter syndrome | Almost everyone feels it. The productive response is preparation, not internal debate about your worthiness. |
For placement-preparation questions, structure the answer around: (1) the placement timeline, (2) stages of the recruitment process, (3) company categories and their emphasis, (4) aptitude and DSA preparation strategy, (5) referral networking. Concrete specifics (numbers of problems, application volumes) demonstrate real understanding.
Data structures and algorithms continue to be the primary filter in technical interviews at product companies. The reason is not that every job requires implementing a balanced tree — it is that DSA problems provide a standardised, fair measure of problem-solving ability under pressure. They test how you decompose a problem, choose a data structure, reason about trade-offs, and communicate your thinking.
| Category | Frequency in Interviews | Key Concepts | Common Problems |
|---|---|---|---|
| Arrays and Strings | Very High | Two pointers, sliding window, prefix sums | Two Sum, Longest Substring Without Repeating Characters, Container With Most Water |
| Hash Maps and Sets | Very High | Hashing, frequency counting, lookup | Group Anagrams, Subarray Sum Equals K, First Missing Positive |
| Linked Lists | High | Traversal, reversal, cycle detection | Reverse Linked List, Merge Two Sorted Lists, Detect Cycle |
| Stacks and Queues | High | LIFO/FIFO, monotonic stacks | Valid Parentheses, Min Stack, Daily Temperatures |
| Trees and BSTs | Very High | Traversals, recursion, BST properties | Inorder Traversal, Validate BST, Lowest Common Ancestor |
| Graphs | High | BFS, DFS, topological sort, shortest path | Number of Islands, Course Schedule, Dijkstra's Algorithm |
| Dynamic Programming | High | Memoisation, tabulation, state design | Climbing Stairs, Longest Common Subsequence, Coin Change |
| Sorting and Searching | High | Binary search, quickselect | Search in Rotated Sorted Array, Kth Largest Element |
| Heaps and Priority Queues | Medium | Heap operations, top-K problems | Kth Largest Element, Merge K Sorted Lists, Top K Frequent Elements |
| Tries | Medium | Prefix trees | Implement Trie, Word Search II |
| Greedy | Medium | Local optimal choice | Jump Game, Activity Selection, Interval Scheduling |
| Bit Manipulation | Low–Medium | Bitwise operators, XOR tricks | Single Number, Counting Bits |
Problem: Given an array of integers and a target, return the indices of the two numbers that add up to the target. Assume exactly one solution.
Brute force approach: nested loops, checking every pair. Time complexity \(O(n^2)\), space \(O(1)\).
Optimal approach: use a hash map to record each element's index. For each element \(x\), check if \((target - x)\) has already been seen.
def two_sum(nums, target):
seen = {}
for i, num in enumerate(nums):
complement = target - num
if complement in seen:
return [seen[complement], i]
seen[num] = i
return []
Complexity: Time \(O(n)\), Space \(O(n)\).
Interview discussion points: Why a hash map instead of sorting? (Sorting would be \(O(n \log n)\) and would lose the original indices.) Can we handle duplicates? (Yes — the map stores the first occurrence; the second occurrence finds it.) What if no solution exists? (Return an empty list or raise an exception, depending on the spec.)
Problem: Given a string, find the length of the longest substring without repeating characters.
Approach: sliding window with a hash map tracking the last index of each character.
def length_of_longest_substring(s):
last_seen = {}
left = 0
max_length = 0
for right, ch in enumerate(s):
if ch in last_seen and last_seen[ch] >= left:
left = last_seen[ch] + 1
last_seen[ch] = right
max_length = max(max_length, right - left + 1)
return max_length
Trace for "abcabcbb": right=0 'a' → max=1; right=1 'b' → max=2; right=2 'c' → max=3; right=3 'a' seen at 0 ≥ left(0) → left=1; max=3; right=4 'b' seen at 1 ≥ left(1) → left=2; max=3; right=5 'c' seen at 2 ≥ left(2) → left=3; max=3; right=6 'b' seen at 4 ≥ left(3) → left=5; max=3; right=7 'b' seen at 6 ≥ left(5) → left=7; max=3. Result: 3 ("abc").
Complexity: Time \(O(n)\), Space \(O(\min(n, |\Sigma|))\) where \(|\Sigma|\) is the character set size.
Interview discussion points: Why is the condition last_seen[ch] >= left necessary? (To avoid moving the window backwards when the previous occurrence is already outside the current window.) What if the string contains Unicode characters? (Same approach works; the character set is larger.)
Problem: Given the root of a binary tree, determine whether it is a valid binary search tree.
Common wrong approach: check only that each node's value is between its immediate children. This fails for cases where a node deep in the right subtree is smaller than an ancestor higher up.
Correct approach: recursive check with bounds (min, max) that tighten as we descend.
def is_valid_bst(root):
def validate(node, low, high):
if not node:
return True
if not (low < node.val < high):
return False
return validate(node.left, low, node.val) and \
validate(node.right, node.val, high)
return validate(root, float('-inf'), float('inf'))
Complexity: Time \(O(n)\), Space \(O(h)\) for the recursion stack (h = tree height).
Alternative approach: inorder traversal — a valid BST produces a strictly increasing sequence.
Interview discussion points: Why not just compare each node to its children? (Counterexample: 5 as root, 1 as left child, 6 as right child with 4 as the left child of 6. Locally valid; globally invalid.) What if duplicates are allowed? (Change strict inequality to non-strict on one side, depending on the definition.)
Problem: Given an array of coin denominations and a target amount, return the minimum number of coins needed to make the amount. Return −1 if impossible.
Approach: bottom-up dynamic programming. Let \(dp[i]\) = minimum coins to make amount \(i\). Then \(dp[i] = \min_{c \in coins, c \le i} (dp[i - c] + 1)\).
def coin_change(coins, amount):
dp = [float('inf')] * (amount + 1)
dp[0] = 0
for i in range(1, amount + 1):
for c in coins:
if c <= i:
dp[i] = min(dp[i], dp[i - c] + 1)
return dp[amount] if dp[amount] != float('inf') else -1
Trace for coins = [1, 2, 5], amount = 11: dp[0]=0; dp[1]=1; dp[2]=1; dp[3]=2; dp[4]=2; dp[5]=1; dp[6]=2; dp[7]=2; dp[8]=3; dp[9]=3; dp[10]=2; dp[11]=3. Result: 3 (5 + 5 + 1).
Complexity: Time \(O(\text{amount} \times |\text{coins}|)\), Space \(O(\text{amount})\).
Interview discussion points: Why not greedy? (Greedy fails for some coin systems, e.g. coins = [1, 3, 4], amount = 6: greedy gives 4+1+1 = 3 coins, but optimal is 3+3 = 2 coins.) How to reconstruct the actual coins used? (Maintain a separate array of choices, or backtrack through dp.)
| Step | Activity | Time (of 45 min) |
|---|---|---|
| 1. Clarify | Ask about input constraints, edge cases, output format, and any assumptions | 2–3 min |
| 2. Examples | Work through 2–3 examples by hand, including edge cases | 3–5 min |
| 3. Approach | Describe the algorithm verbally before coding. State the time and space complexity. | 5–8 min |
| 4. Confirm | Check the approach is acceptable before coding | 1 min |
| 5. Code | Write clean, readable code with meaningful names | 15–20 min |
| 6. Test | Trace through examples and edge cases manually | 5 min |
| 7. Discuss | Complexity analysis, potential improvements, alternative approaches | 3–5 min |
Communicate your thought process continuously. Interviewers assess how you think, not just whether you reach the right answer. A candidate who reasons aloud and reaches a suboptimal solution often scores higher than one who silently produces the optimal solution. Say "I'm considering a hash map because... but that would use O(n) space, so let me think about whether two pointers could work here."
| Question | Key Points for the Answer |
|---|---|
| What is normalisation? Explain 1NF, 2NF, 3NF, BCNF. | 1NF: atomic values, no repeating groups. 2NF: 1NF + no partial dependency on a composite primary key. 3NF: 2NF + no transitive dependency. BCNF: every determinant is a candidate key. Purpose: eliminate redundancy and update anomalies. |
| What is the difference between a clustered and a non-clustered index? | Clustered index determines the physical order of rows in the table — only one per table. Non-clustered index is a separate structure with pointers to the data — multiple per table. Clustered is faster for range scans; non-clustered for point lookups. |
| Explain ACID properties. | Atomicity (all or nothing), Consistency (valid state transitions), Isolation (concurrent transactions don't interfere), Durability (committed changes survive failure). |
| What is a deadlock and how is it resolved? | Two or more transactions each hold locks the others need. Resolution: deadlock detection (wait-for graph) with victim selection and rollback; or deadlock prevention (timeouts, resource ordering). |
| Explain the difference between INNER JOIN, LEFT JOIN, RIGHT JOIN and FULL OUTER JOIN. | INNER: rows matching in both. LEFT: all left rows + matched right (null if no match). RIGHT: all right rows + matched left. FULL: all rows from both, nulls where no match. |
| What are the different types of keys? | Primary key (unique, non-null identifier), candidate key (any minimal unique identifier), foreign key (references another table), composite key (multi-column), surrogate key (system-generated). |
| Explain the CAP theorem. | In a distributed system, you can guarantee at most two of: Consistency, Availability, Partition tolerance. Since network partitions are inevitable, real systems choose between CP and AP. |
| What is the difference between SQL and NoSQL? | SQL: relational, fixed schema, ACID, vertically scalable, strong consistency. NoSQL: non-relational (document, key-value, graph, column), flexible schema, BASE (eventually consistent), horizontally scalable. Choose based on access patterns and consistency requirements. |
| How would you optimise a slow SQL query? | Analyse the execution plan (EXPLAIN); add appropriate indexes; avoid SELECT *; reduce joins where possible; use query caching; denormalise if read-heavy; partition large tables. |
| Explain the difference between a view and a materialised view. | View: a stored query — computed on demand. Materialised view: a cached result set — refreshed on schedule or on demand. Faster reads at the cost of staleness and storage. |
| Question | Key Points for the Answer |
|---|---|
| What is the difference between a process and a thread? | Process: independent execution unit with its own address space, file descriptors, and resources. Thread: unit of execution within a process; shares address space but has its own stack and registers. Context switch between threads is cheaper than between processes. |
| Explain virtual memory. | An abstraction that gives each process the illusion of a large contiguous memory space. Uses paging/segmentation; pages are swapped between RAM and disk as needed. Enables larger-than-RAM working sets and process isolation. |
| What is a deadlock? What are the four necessary conditions? | Mutual exclusion, hold and wait, no preemption, circular wait. All four must hold for a deadlock to occur. Prevention: break one of the conditions. |
| Explain the difference between preemptive and non-preemptive scheduling. | Preemptive: the OS can interrupt a running process (Round Robin, priority with preemption). Non-preemptive: a process runs until it blocks or terminates (FCFS, SJF). |
| What is thrashing? | Excessive page faulting where the system spends more time swapping than executing. Caused by insufficient physical memory relative to the working set. Mitigation: working set model, reduce multiprogramming degree, add RAM. |
| Explain the difference between paging and segmentation. | Paging: fixed-size blocks (pages/frames); eliminates external fragmentation; internal fragmentation possible. Segmentation: variable-size logical segments (code, data, stack); reflects program structure; external fragmentation possible. |
| What is a race condition? | Two or more threads access shared data concurrently and the outcome depends on the order of execution. Resolved with locks, semaphores, atomic operations, or by avoiding shared mutable state. |
| Explain the difference between a mutex and a semaphore. | Mutex: binary lock with ownership — only the thread that locked it can unlock it. Semaphore: counting mechanism — any thread can signal; used to control access to a pool of N resources. |
| Question | Key Points for the Answer |
|---|---|
| Explain the OSI model and TCP/IP model. | OSI 7 layers: Physical, Data Link, Network, Transport, Session, Presentation, Application. TCP/IP 4 layers: Network Access, Internet, Transport, Application. TCP/IP is the practical implementation; OSI is the theoretical reference. |
| What is the difference between TCP and UDP? | TCP: connection-oriented, reliable, ordered, flow-controlled, slower (HTTP, SMTP, SSH). UDP: connectionless, best-effort, unordered, faster (DNS, video streaming, gaming). |
| What happens when you type a URL into a browser? | DNS resolution → TCP handshake → TLS handshake (for HTTPS) → HTTP request → server processing → HTTP response → browser rendering. Include caching at each layer. |
| Explain the three-way handshake. | SYN (client → server), SYN-ACK (server → client), ACK (client → server). Establishes connection parameters and sequence numbers. |
| What is a subnet mask? How does subnetting work? | Divides an IP address into network and host portions. Subnetting borrows bits from the host portion. Number of subnets = 2^n; hosts per subnet = 2^h − 2. |
| What is the difference between a switch and a router? | Switch operates at Layer 2 (MAC addresses) within a LAN. Router operates at Layer 3 (IP addresses) between networks. Routers connect networks; switches connect devices within a network. |
| Explain HTTPS and TLS. | HTTPS = HTTP over TLS. TLS provides encryption (confidentiality), integrity (HMAC), and authentication (certificates signed by CAs). Uses asymmetric crypto for key exchange and symmetric for data. |
| What is DNS and how does it work? | Domain Name System resolves domain names to IP addresses. Hierarchical: root servers → TLD servers → authoritative servers. Caching at browser, OS, and ISP levels reduces latency. |
| Question | Key Points for the Answer |
|---|---|
| Explain the four pillars of OOP. | Encapsulation (data + methods bundled; internal state protected), Inheritance (reuse via "is-a" relationships), Polymorphism (same interface, different behaviour), Abstraction (hide complexity behind interfaces). |
| What is the difference between an abstract class and an interface? | Abstract class: can have state, constructors, and both abstract and concrete methods; single inheritance. Interface: no state (traditionally), only method signatures; multiple inheritance. Use interface for capability, abstract class for shared base behaviour. |
| Explain method overloading vs overriding. | Overloading: same name, different parameters (compile-time). Overriding: subclass redefines a parent method (runtime). Overriding is a key mechanism for polymorphism. |
| What are SOLID principles? | Single responsibility, Open/closed, Liskov substitution, Interface segregation, Dependency inversion. Design principles that reduce coupling and increase maintainability. |
| Explain the difference between composition and inheritance. | Inheritance: "is-a" relationship; tight coupling to the parent. Composition: "has-a" relationship; more flexible, easier to change behaviour. Favour composition over inheritance. |
| Question | Key Points for the Answer |
|---|---|
| How would you design a URL shortener like bit.ly? | Requirements: short URL generation, redirection, analytics. Approach: base62 encoding of a unique ID; distributed ID generation (Snowflake); key-value store for mappings; caching hot URLs; analytics via async pipeline. Discuss scaling: read-heavy, so cache aggressively. |
| What is load balancing? Name some algorithms. | Distributes traffic across multiple servers. Algorithms: round robin, least connections, IP hash, weighted. Benefits: availability, scalability, reduced latency. Types: L4 (transport) vs L7 (application). |
| Explain caching strategies. | Cache-aside (lazy load), write-through, write-behind, read-through. Eviction policies: LRU, LFU, FIFO. Cache invalidation is one of the hardest problems. Discuss staleness vs performance trade-offs. |
| What is database sharding? | Horizontal partitioning of data across multiple databases. Sharding key determines placement. Challenges: cross-shard queries, rebalancing, hot partitions. Enables horizontal scaling but increases complexity. |
| Explain microservices vs monolithic architecture. | Monolith: single deployable unit; simpler initially; harder to scale independently. Microservices: independent deployable services; better scalability and team autonomy; higher operational complexity; need robust observability and CI/CD. |
| How would you design a rate limiter? | Algorithms: token bucket, leaky bucket, fixed window, sliding window. Storage: Redis for distributed rate limiting. Keying: by user, IP, or API key. Response: 429 Too Many Requests with Retry-After header. |
For every project on your CV, expect these questions:
| Question | How to Prepare |
|---|---|
| "Walk me through the architecture." | Have a clear 3-minute explanation: data flows, components, technology choices. |
| "Why did you choose this tech stack?" | Justify with reasoning — team familiarity, ecosystem maturity, performance requirements, prior experience. |
| "What was the hardest technical challenge?" | Have a specific, technically detailed story ready with a concrete resolution. |
| "How would you scale this to 10× the users?" | Identify current bottlenecks: database (add indexes, read replicas, sharding), application (horizontal scaling, caching), network (CDN, load balancer). |
| "What would you do differently if you rebuilt it?" | Show growth. Name specific design decisions you would change and why. |
| "What was your specific contribution?" | Be precise. Do not claim credit for teammates' work. State what you built and its measurable impact. |
| "How did you test it?" | Describe unit, integration and user acceptance testing. Give coverage numbers if you know them. |
| "What security considerations did you address?" | Authentication, authorisation, input validation, secrets management, HTTPS, dependency scanning. |
For core CS questions, structure answers as: (1) definition, (2) key characteristics, (3) comparison with the most common alternative, (4) one concrete example. Show that you understand the trade-offs, not just the definitions.
| Category | What Interviewers Assess | Preparation |
|---|---|---|
| Self-awareness | Do you know your strengths and weaknesses honestly? | Reflect and rehearse examples |
| Motivation | Why this role, this company, this field? | Research the company; articulate a genuine reason |
| Teamwork | How do you collaborate and handle conflict? | Prepare STAR stories for teamwork scenarios |
| Leadership | Have you taken initiative and delivered? | Prepare STAR stories with measurable outcomes |
| Problem-solving | How do you approach unfamiliar problems? | Show a structured process |
| Failure and learning | Do you take responsibility and grow? | Prepare an honest failure story with lessons learned |
| Ethics and integrity | Have you made difficult ethical decisions? | Reflect on real situations |
| Adaptability | How do you respond to change and ambiguity? | Prepare examples of navigating uncertainty |
Structure: Present → Past → Future. 90 seconds maximum.
Model answer: "I'm currently a final-year Computer Science student at [University], with a focus on backend engineering and cloud infrastructure. Over the past two years, I've built three full-stack applications — the most significant is a campus notice portal that's used by 400+ students across four departments, where I designed the backend, implemented JWT authentication and deployed it with GitHub Actions CI. I've also completed an internship at [Company] where I worked on the internal API team, learning how production systems are observed and maintained. In the future, I want to grow into a backend engineer role where I can own systems end-to-end, and eventually move into platform or infrastructure engineering."
Why this works: It follows a clear structure (present role → past experience with specifics → future direction). It quantifies achievements (400+ users, three applications). It names specific technologies and outcomes. It gives the interviewer natural entry points for follow-up questions.
What to avoid: Reciting your entire resume chronologically. Giving personal details irrelevant to the role. Sounding rehearsed without being genuine. Taking more than 90 seconds.
The trap: Either naming a fake weakness ("I work too hard") — which signals dishonesty — or revealing a weakness that is fatal for the role.
The correct formula: name a genuine weakness that is not central to the role, describe what you have done about it, and show measurable progress.
Model answer: "Earlier in my degree, I struggled with public speaking — I would avoid presenting in class even when I knew the material. I realised this would limit me in a career where engineers present to stakeholders, so I joined the college's technical club and volunteered to give tutorials. My first two were rough, but by the fifth I was comfortable. I've now presented at three club events and given a 20-minute talk on version control at a workshop. I'm still not a natural presenter, but I no longer avoid it — and I've learned that preparing thoroughly is more valuable than natural confidence."
Why this works: The weakness is genuine (not a humble-brag), specific, and non-fatal (a backend engineer who is not a natural presenter is fine). The response shows self-awareness, action, and measurable progress. The closing insight — preparation matters more than natural confidence — signals maturity.
Model answer using STAR:
Why this works: It is a genuine failure with real consequences. The candidate takes ownership ("I underestimated... I had not read the documentation"). The response ends with a concrete change in behaviour that has been applied since. This is what interviewers look for — not the failure, but the learning.
What to avoid: A failure that was not your fault ("my teammate dropped out"). A failure that is too trivial ("I forgot to reply to an email"). A failure with no learning described. Blaming others.
This is not a formality — it is an opportunity to demonstrate genuine interest and to evaluate whether the role is right for you. Always have three questions prepared.
| Category | Example Questions |
|---|---|
| Role clarity | "What does success look like in the first 6 months in this role?" |
| Team dynamics | "How is the team structured? How do technical decisions get made?" |
| Technology | "What's the current tech stack, and are there plans to evolve it?" |
| Growth | "How do engineers grow here — is there a mentorship or promotion framework?" |
| Challenges | "What's the biggest challenge the team is currently facing?" |
| Process | "What are the next steps in the process, and when can I expect to hear back?" |
| Principle | Explanation |
|---|---|
| Research first | Use Glassdoor, Levels.fyi, AmbitionBox and alumni to establish the market range for the role and city. |
| Delay the number | If asked early, say "I'm flexible and would like to understand the full scope first. What range has been budgeted for this role?" |
| Give a range, not a single figure | "Based on my research, roles at this level in [city] typically pay between X and Y. I'd be comfortable in that range." |
| Negotiate the package | Base salary, joining bonus, relocation, learning budget, stock, remote flexibility — all components are negotiable. |
| Be professional | Negotiation is normal. Frame requests around value, not need ("I bring X and Y; based on the market, I was expecting Z"). |
| Know your walk-away point | Define the minimum you will accept before the conversation; this prevents emotional decisions. |
| Get it in writing | Verbal promises mean nothing. Request the formal offer letter before any commitment. |
Recruiter: "What are your salary expectations?"
Candidate: "I'm primarily focused on finding the right role where I can learn and contribute. On compensation, I've researched that fresher SDE roles at product companies in Bangalore typically range from ₹12–18 LPA. I'd be comfortable within that range depending on the full package and the scope of the role. Could you share the budgeted range for this position?"
Why this works: It signals flexibility, provides a researched range (not a hard number), demonstrates market awareness, and politely shifts the conversation to the recruiter's budget.
If the offer is below the range:
"Thank you for the offer — I'm genuinely excited about the role. Based on my research and my two deployed projects plus the AWS certification, I was hoping for a base closer to the upper end of my range. Is there flexibility to move to X? If not, I'd like to understand how the compensation grows in the first 18 months."
For HR interview questions, structure answers as: (1) STAR format for behavioural questions, (2) genuine content — never fabricate examples, (3) measurable outcomes, (4) a closing reflection on what was learned. Interviewers can detect rehearsed-and-insincere answers instantly. Honest, specific stories from your own experience are always better than polished generalisations.
| Unit | Core Theme | Key Concepts | Professional Outcome |
|---|---|---|---|
| Unit I | Computational Thinking and Software Development | CT pillars, algorithm properties, SDLC phases, SDLC models, quality attributes | How to think about and structure software work |
| Unit II | Version Control and Cyber Security | Git workflows, branching, merging, CIA triad, firewalls, access control, MFA | How to collaborate safely and securely |
| Unit III | AI, Emerging Tech and Career Planning | AI/ML/DL, GenAI, Agentic AI, cloud, blockchain, RIASEC, SMART, skill gaps, IDP | How to prepare for the future and plan a career |
| Unit IV | Operating Systems, Networking, Cloud and Professional Development | OS types, process management, OSI/TCP-IP, subnetting, cloud models, virtualization, portfolio, Dream CV | How to understand infrastructure and present yourself |
| Unit V | Professional Ethics, Teamwork and Capstone | IEEE/ACM code, Tuckman, IBR, triple constraint, WBS, Agile/Scrum, capstone process | How to act professionally and deliver projects |
| Unit VI | Industry Readiness and Career Launch | Capstone execution, placement process, DSA bank, core CS bank, HR bank, mock assessments, 90-day launch | How to get and succeed in the job |
| Connection | Units Involved | Why It Matters |
|---|---|---|
| Computational thinking underlies all problem-solving | I → every unit | Decomposition and abstraction apply to debugging, design, career planning and ethical analysis |
| Version control enables ethical collaboration | II ↔ V | Code review enforces quality and catches ethical issues like hard-coded secrets |
| AI ethics connects technical and professional responsibility | III ↔ V | Building AI systems requires both technical skill and moral reasoning |
| Cloud infrastructure underpins modern professional practice | IV ↔ VI | Cloud skills are required in nearly every engineering role today |
| Career planning is enacted through the portfolio and CV | III ↔ IV | Planning without artefacts is invisible to employers |
| The capstone integrates every previous unit | All → VI | Design, code, test, deploy, document, present — every skill is applied |
| Term | Definition | Unit |
|---|---|---|
| Computational Thinking | Formulating problems so a computer can execute the solution | I |
| Algorithm | Finite, unambiguous, ordered set of steps producing output from input | I |
| SDLC | Structured phases from requirements to maintenance in software development | I |
| Agile | Iterative, incremental approach that welcomes change and delivers frequently | I, V |
| Version Control | Tool recording file changes over time to enable recall and collaboration | II |
| Commit | Immutable snapshot of staged changes identified by a hash | II |
| CIA Triad | Confidentiality, Integrity, Availability — the three security objectives | II |
| Firewall | Device or software filtering network traffic based on rules | II |
| MFA | Authentication using two or more factors from different categories | II |
| Digital Footprint | Permanent trail of data created by online activity | II |
| Artificial Intelligence | Branch of CS building machines that perform tasks requiring intelligence | III |
| Machine Learning | Systems that learn patterns from data and improve with experience | III |
| Generative AI | Models that create new content resembling their training data | III |
| Agentic AI | Autonomous AI that plans, uses tools and iterates toward a goal | III |
| RIASEC | Six interest types: Realistic, Investigative, Artistic, Social, Enterprising, Conventional | III |
| SMART Goal | Specific, Measurable, Achievable, Relevant, Time-bound objective | III |
| Skill Gap | Difference between required and current competency for a target role | III |
| IDP | Individual Development Plan converting gaps into scheduled actions | III |
| Operating System | System software managing hardware and providing services for applications | IV |
| Process | Program in execution with its own address space and state | IV |
| OSI Model | Seven-layer reference model for network communication | IV |
| Subnetting | Dividing a network into smaller segments using borrowed host bits | IV |
| Cloud Computing | On-demand delivery of computing services over the Internet | IV |
| Virtualization | Creating virtual instances of computing resources on physical hardware | IV |
| Container | Isolated process-level environment sharing the host OS kernel | IV |
| Professional Portfolio | Curated collection of evidence demonstrating skills and achievements | IV |
| Dream CV | Aspirational CV for the target role, used as a gap-analysis tool | IV |
| Professional Ethics | Principles and standards of conduct guiding behaviour within a profession | V |
| Tuckman's Model | Forming, Storming, Norming, Performing, Adjourning | V |
| Psychological Safety | Shared belief that members can take interpersonal risks without fear | V |
| Triple Constraint | Scope, Time, Cost — interdependent; quality is the outcome | V |
| WBS | Hierarchical decomposition of project scope into work packages | V |
| Critical Path | Longest sequence of dependent tasks; determines project duration | V |
| Capstone Project | Culminating academic experience integrating knowledge to solve a real problem | V, VI |
| Walking Skeleton | Minimal end-to-end implementation exercising every architectural layer | VI |
| MoSCoW | Prioritisation: Must-have, Should-have, Could-have, Won't-have | VI |
| Referral | Recommendation from a current employee that increases application response rates | VI |
| STAR | Situation, Task, Action, Result — structured behavioural answer | IV, VI |
| SBI | Situation, Behaviour, Impact — structured feedback model | IV |
| Concept | Formula |
|---|---|
| Defect density | Defects ÷ KLOC |
| MTBF | Total operating time ÷ number of failures |
| Availability | MTBF ÷ (MTBF + MTTR) |
| Risk exposure (spiral) | RE = P(UO) × L(UO) |
| Velocity | Story points completed per sprint |
| Sprints remaining | Remaining backlog points ÷ average velocity |
| Commit hash | SHA-1 of tree, parent, author, timestamp, message |
| Security risk | Risk = Threat × Vulnerability × Impact |
| SLE / ALE | SLE = Asset Value × Exposure Factor; ALE = SLE × ARO |
| Password search space | N = CL |
| Time to brute force | T = N / (2R) |
| Accuracy | (TP + TN) / (TP + TN + FP + FN) |
| Precision | TP / (TP + FP) |
| Recall | TP / (TP + FN) |
| F1 score | 2PR / (P + R) |
| Scaled dot-product attention | softmax(QKT/√dk)V |
| Cosine similarity | (a · b) / (‖a‖ ‖b‖) |
| Number of subnets | 2n where n = bits borrowed |
| Hosts per subnet | 2h − 2 where h = remaining host bits |
| Cloud cost | Σ (resource quantity × unit price × duration) |
| Skill gap | Gapi = Ri − Ci |
| Total weighted gap | Σ wi (Ri − Ci) |
| Gap closure % | (Cnow − Cstart) / (R − Cstart) × 100 |
| Decision matrix | Σ wi × si with Σ wi = 1 |
| Critical path slack | Slack = LS − ES = LF − EF |
| Earned value | CV = EV − AC; SV = EV − PV; CPI = EV/AC; SPI = EV/PV |
| Triple constraint | Quality = f(Scope, Time, Cost) |
| Three-point estimation | E = (O + 4M + P) / 6 |
Time: 90 minutes · Total marks: 50
git fetch and git pull?192.168.20.0/24. It needs at least 12 subnets, each with at least 10 hosts. Determine the number of bits to borrow, the new prefix, hosts per subnet, and list the first three subnet ranges.Time: 90 minutes · Total marks: 50
1. Computational thinking is the process of formulating a problem and expressing its solution so that a computer can execute it. Four pillars: Decomposition, Pattern Recognition, Abstraction, Algorithm Design.
2. Finiteness, Definiteness, Input, Output, Effectiveness.
3. git fetch downloads remote changes but does not modify the working directory; git pull = fetch + merge and does modify the working directory.
4. CIA triad: Confidentiality (control: AES-256 encryption), Integrity (control: SHA-256 hashing with digital signatures), Availability (control: redundant servers and 3-2-1 backups).
5. Default-deny is a firewall policy where all traffic is blocked by default and only explicitly allowed traffic is permitted. It is the recommended best practice over default-allow.
6.
| Parameter | Waterfall | Spiral | Agile |
|---|---|---|---|
| Change handling | Very poor — changes after sign-off are expensive | Excellent — each cycle re-evaluates objectives and risks | Excellent — backlog reprioritised every sprint |
| Customer involvement | Start and end only | Every cycle (formal review) | Continuous via Product Owner and sprint reviews |
| Risk management | Implicit; risks surface late | Explicit and formal — quadrant 2 of every loop | Implicit through short feedback cycles |
7.
git switch main
git pull origin main
git switch -c feature/xyz
# implement, add, commit
git fetch origin
git rebase origin/main
git push -u origin feature/xyz
# open PR, review, CI, merge
git switch main && git pull
git branch -d feature/xyz
git push origin --delete feature/xyz
8.
| Parameter | Packet Filtering | Stateful Inspection |
|---|---|---|
| OSI layer | L3–L4 header only | L3–L4 with session context |
| State awareness | Stateless | Stateful — tracks NEW/ESTABLISHED/RELATED |
| Vulnerability | High — spoofed packets can bypass | Low — state table resists spoofing |
| Performance | Very fast, minimal overhead | Slower; memory for state table |
9.
| Parameter | DAC | MAC | RBAC |
|---|---|---|---|
| Decision authority | Resource owner | System via labels/clearances | Roles; users assigned to roles |
| Flexibility | High — users decide freely | Low — rigid and centrally imposed | Moderate — role changes require redesign |
| Auditability | Difficult — scattered permissions | Good — central policy | Good — role membership enumerable |
| Example | Unix chmod | SELinux, AppArmor | ERP roles: HR Manager, Auditor |
10. Given: 192.168.20.0/24, need ≥ 12 subnets, each ≥ 10 hosts.
Bits to borrow: \(2^n \ge 12 \Rightarrow n = 4\) (16 subnets). New prefix = \(24 + 4 = 28\).
Hosts per subnet: \(h = 32 - 28 = 4\); \(2^4 - 2 = 14\) usable hosts. ✓
First three subnet ranges (block size 16):
| Subnet | Network | Usable Range | Broadcast |
|---|---|---|---|
| 1 | 192.168.20.0/28 | .1 – .14 | .15 |
| 2 | 192.168.20.16/28 | .17 – .30 | .31 |
| 3 | 192.168.20.32/28 | .33 – .46 | .47 |
11. SDLC phases: Requirements (SRS), Design (design document), Implementation (source code + unit tests), Testing (test plan + defect report), Deployment (release build + user manual), Maintenance (patches).
Four maintenance types: Corrective (~20%, fix defects), Adaptive (~25%, adjust to new environments), Perfective (~50%, improve performance and maintainability), Preventive (~5%, reduce future failure risk).
Why maintenance dominates: Maintenance consumes 60–70% of a system's total lifetime cost. This is because software is used for years or decades after initial delivery, during which requirements evolve, environments change, defects are found, and improvements are needed. This makes maintainability a first-class quality attribute — readable code, good documentation, and modular design all reduce long-term cost.
1. ANI (narrow AI): one specific task, no transfer — exists today. AGI (general AI): human-level reasoning across any domain — theoretical. ASI (super AI): surpasses the best human minds in every domain — hypothetical.
2. Supervised (Random Forest), Unsupervised (K-Means), Semi-supervised (self-training), Reinforcement Learning (Q-Learning / PPO).
3. VM: hardware-level virtualisation, each VM runs a full guest OS, stronger isolation, slower startup, GBs in size. Container: OS-level virtualisation, shares the host kernel, lighter isolation, millisecond startup, MBs in size.
4. A professional portfolio is a curated collection of evidence demonstrating skills, projects and achievements — a proof-of-work document. A résumé is a 1-page targeted summary designed to secure an interview. The portfolio shows; the résumé summarises.
5. Any four of: Public, Client and Employer, Product, Judgment, Management, Profession, Colleagues, Self.
6. LLM generation pipeline:
Three prompt-engineering techniques: (i) Chain-of-thought — "Solve step by step, showing all calculations." (ii) Few-shot — provide 2–5 examples of input–output pairs. (iii) Role prompting — "You are a senior security auditor reviewing this code."
7. RIASEC: Holland's model classifies people and work environments into six types (Realistic, Investigative, Artistic, Social, Enterprising, Conventional). Most individuals have a combination of 2–3 dominant types, expressed as a three-letter code.
SWOT: Strengths and Weaknesses are internal (skills, CGPA, gaps); Opportunities and Threats are external (market demand, competition).
Why self-assessment is first: Without knowing your interests, strengths and values, any goal is arbitrary — potentially someone else's goal for you. Self-assessment defines the starting point for skill-gap analysis, prevents mismatched career choices, and reveals values that determine long-term satisfaction.
8. Four dimensions of professional readiness: Technical (projects, coding, certifications), Behavioural (communication, teamwork, conflict resolution), Attitudinal (ownership, initiative, resilience), Documentary (portfolio, CV, LinkedIn, GitHub).
7 Cs of communication with examples:
9. Triple constraint: Quality = f(Scope, Time, Cost). The three constraints are interdependent. Increasing scope requires increasing time or cost, or reducing quality. Example: A team is asked to add a payment gateway two weeks before launch. Since time and cost are fixed, they must either drop another feature (reduce scope) or ship the feature without adequate testing (reduce quality — unacceptable for payments). The professional response is to identify a lower-priority feature to defer.
Five project life cycle phases with deliverables: Initiation (project charter), Planning (project plan, schedule, risk register), Execution (deliverables, status reports), Monitoring and Control (performance reports, change requests), Closure (final report, lessons learned).
10. Skill-gap analysis for Cloud Security Engineer:
| Competency | R | C | Gap | w | w × Gap | Rank |
|---|---|---|---|---|---|---|
| Linux | 5 | 3 | 2 | 5 | 10 | 3 |
| Networking | 5 | 3 | 2 | 5 | 10 | 3 |
| Cloud | 5 | 2 | 3 | 5 | 15 | 1 |
| Security | 4 | 2 | 2 | 4 | 8 | 5 |
| Python | 4 | 4 | 0 | 3 | 0 | — |
| Communication | 3 | 4 | 0 | 2 | 0 | — |
Total weighted gap: 10 + 10 + 15 + 8 = 43
Top three priorities:
Three SMART actions:
11. Applying the IEEE/ACM code to the hard-coded secrets scenario:
| Principle | Application |
|---|---|
| Public | A leaked API key can be harvested by automated scanners within minutes; the risk to users and systems is real. |
| Client and Employer | You are obligated to protect your employer's systems; leaving the key exposed violates that duty. |
| Product | Hard-coded secrets are a defect, not a stylistic preference. |
| Judgment | Do not approve insecure code because of pressure or convenience. |
| Colleagues | Be supportive — help the colleague fix it rather than reporting them immediately. |
Recommended action: (1) do not ignore it. (2) Speak to the colleague privately and explain the risk clearly without accusation. (3) Rotate the key immediately — removing the file is not enough because it is in the Git history. (4) Help move the key to environment variables or a secrets manager; purge the key from history with git filter-repo or BFG; force-push and inform collaborators. (5) If the colleague refuses to act, escalate in writing to the security team or manager. (6) Recommend a systemic fix: pre-commit hooks or CI checks that scan for secrets, plus a .gitignore entry for .env files.
Key principle: the goal is not to punish but to eliminate the risk and prevent recurrence.
The transition is not simply a change of environment — it is a change in the fundamental question you are answering. As a student, you are evaluated on what you know. As a professional, you are evaluated on what you deliver. This shift has profound implications for how you spend your time, how you communicate, and how you measure your own success.
| Dimension | Student | Professional |
|---|---|---|
| Evaluation criteria | Marks, exam performance | Delivered outcomes, team impact |
| Structure | Externally imposed (syllabus, exams) | Self-managed (priorities, deadlines) |
| Feedback | Frequent, formal, grade-based | Infrequent, informal, outcome-based |
| Learning | Structured curriculum | On-the-job, self-directed |
| Failure consequences | Lower grade | Production impact, trust erosion |
| Time horizon | Semester | Quarter, year, career |
| Relationships | Peer-based | Hierarchical and cross-functional |
| Period | Primary Goal | Key Actions | Success Metric |
|---|---|---|---|
| Days 1–7 | Orientation and relationship building | Meet the team; understand the product; set up your development environment; read existing documentation | Can build, run and test the codebase locally |
| Days 8–30 | First contribution | Take on a small, well-defined task; ask questions; submit your first pull request; learn the review process | 1+ merged PRs; positive feedback from reviewer |
| Days 31–60 | Ownership of a small feature | Own a feature end-to-end (design, implement, test, deploy); participate in code reviews; learn the on-call process | Feature shipped to production; code reviews submitted |
| Days 61–90 | Independent contribution | Identify an improvement; propose and implement it; assist a newer team member; understand the team's key metrics | Shipped improvement; positive peer feedback; understanding of team's KPIs |
| Habit | Why It Matters | How to Build It |
|---|---|---|
| Ask questions early and often | Unasked questions become wrong assumptions; wrong assumptions become bugs | Rule: if you have been stuck for 30 minutes, ask someone |
| Write things down | Reduces repeated questions; creates documentation | Maintain a personal wiki of decisions, gotchas and useful commands |
| Over-communicate status | Managers value predictability; silence creates anxiety | Send a weekly summary of what you did, what you plan to do, and what is blocking you |
| Read code, not just write it | Reading good code accelerates learning faster than writing your own | Spend 30 minutes daily reading code in your repository |
| Seek feedback explicitly | Waiting for feedback is passive; asking for it is professional | Ask your manager: "What is one thing I could do better?" |
| Take ownership beyond your task | Seniority is earned by solving problems that are not your job | Fix documentation gaps; improve test coverage; suggest process improvements |
| Separate ego from code | Code review is about the code, not about you | Thank reviewers for catching issues; do not defend weak code |
| Maintain a learning log | Reflection turns experience into knowledge | Weekly journal of what you learned, what confused you, what you want to explore |
| Mistake | Why It Happens | Better Approach |
|---|---|---|
| Waiting to be told what to do | Habit from academic environment | Proactively identify tasks and propose them to your manager |
| Hiding mistakes | Fear of judgement | Report mistakes immediately; you are judged on the recovery, not the mistake |
| Working in isolation for too long | Pride in solving it yourself | Ask for help after 30 minutes of being stuck |
| Over-engineering the first solution | Desire to impress | Solve the problem simply; optimise later if needed |
| Ignoring documentation | It feels low-status | Documentation is one of the highest-leverage activities; it compounds |
| Not reading existing code | Urgency to start writing | Read first; understand patterns; then write consistent code |
| Taking feedback personally | Identity tied to work product | Separate self from output; feedback is information, not judgement |
| Neglecting relationships | Focusing only on technical work | Invest in relationships; most opportunities come through people |
| Overworking without sustainability | Fear of underperformance | Sustainable pace is professional; burnout is not a badge of honour |
| Not negotiating the first offer | Discomfort with negotiation | Research market rates; negotiate professionally; you have more leverage than you think |
| Type of Capital | What It Is | How to Build It |
|---|---|---|
| Technical capital | Deep skill in a valuable domain | Deliberate practice; work on hard problems; read source code; contribute to open source |
| Reputation capital | Being known as someone who delivers well | Ship consistently; document your work; help others; be trustworthy |
| Relationship capital | Network of people who can help you | Maintain connections; help others first; keep in touch even without an ask |
| Communications capital | Ability to explain and persuade | Write; present; teach; explain technical concepts to non-technical people |
| Options capital | Ability to change directions (domain, role, industry) | Broaden skills; maintain relationships in different areas; keep learning |
| Financial capital | Savings and investments that enable risk-taking | Save consistently; avoid lifestyle inflation; invest early |
| Year | Focus | Key Actions | Measurable Outcomes |
|---|---|---|---|
| Year 1 | Learn and deliver | Master the codebase; ship your first feature; earn one certification; build relationships | Shipped features; positive review; strong relationships |
| Year 2 | Deepen specialisation | Own a module; mentor an intern; contribute to open source; become the go-to person for one topic | Module ownership; 2+ merged PRs; recognised expertise |
| Year 3 | Broaden influence | Lead a project; present at a meetup; start a technical blog; take on system design responsibility | Leading a project; 4+ blog posts; 1+ conference talk |
| Year 4 | Decide the path | Choose between IC (individual contributor) and management; deepen in the chosen direction; consider a role change if growth stalls | Clear career direction; promoted or moved to a better role |
| Year 5 | Consolidate and lead | Lead larger initiatives; mentor multiple people; contribute to hiring; establish reputation in the domain | Senior role; recognised expertise; strong team |
Review cadence: this plan is reviewed every six months. The specific actions change as opportunities arise; the direction remains constant unless there is a compelling reason to change it.
For career-launch questions, structure answers around: (1) student-to-professional transition, (2) first 90 days plan, (3) habits of fast-growing engineers, (4) common first-job mistakes, (5) long-term career capital. Concrete numbers (30-minute rule, weekly summaries) demonstrate that you have thought about execution, not just theory.
| Theme | Common Reflection | What It Means for You |
|---|---|---|
| Fundamentals matter more than frameworks | "I spent months learning React, then joined a team using Vue. The fundamentals of JavaScript and web architecture transferred; the framework-specific knowledge did not." | Invest in DSA, systems, networking, DBMS. Frameworks are learned on the job. |
| Communication is not optional | "My technical work was good, but I struggled to get promoted because I could not explain my ideas clearly in meetings or write persuasive design docs." | Practise writing and presenting from your first year. Join a club. Write blog posts. |
| Start projects early | "I only built one project, in my final year. Classmates who had three or four had far better placement outcomes." | Build something every semester. Quality over quantity; depth over breadth. |
| Networking compounds | "The internship I got in my third year came through a senior I met at a hackathon two years earlier." | Attend events; connect on LinkedIn; follow up; help others first. |
| Consistency beats intensity | "I studied 10 hours a day for three weeks before placements, then burned out. The students who studied 2 hours daily for six months performed better." | Sustainable daily effort beats cramming. |
| Learn to read code | "I could write code but struggled to understand a large codebase. That slowed me down in my first job." | Read open-source code regularly. Start with small projects. |
| First jobs are learning opportunities | "I optimised for salary in my first job and learned little. My classmate took a lower-paying role at a start-up and learned three times as much in the same period." | Optimise for learning in the first two years. Compensation follows skill. |
| Take care of your health | "I neglected sleep and exercise during placements. My anxiety was worse than it needed to be." | Sleep, exercise, and non-placement activities are not luxuries; they are performance enhancers. |
| What They Look For | What They Actually Screen For | Common Rejection Reasons |
|---|---|---|
| Problem-solving ability | Not "do you know the answer" but "how do you think" | Giving up too quickly; not asking clarifying questions |
| Communication | Can you explain your reasoning clearly? | Silent problem-solving; unclear explanations |
| Ownership | Do you take responsibility for outcomes? | Blaming teammates; not following through on commitments |
| Learning ability | How do you respond to unfamiliar problems? | Claiming to know things you don't; refusing hints |
| Culture fit | Will you be a good colleague? | Speaking negatively about past employers or teammates |
| Authenticity | Are you honest about your level? | Exaggerating experience; claiming skills you don't have |
| Depth over breadth | Do you have real depth in something? | Listing 20 technologies with no depth in any |
| Evidence | Can you show what you have built? | No portfolio; no projects; no verifiable claims |
| Expectation | Reality | Advice |
|---|---|---|
| You will build impressive features immediately | You will fix bugs, write tests and read a lot of code for the first few months | This is normal and valuable. Bugs teach you the codebase faster than feature work. |
| You will work on new technology | You will work with a legacy system that has years of accumulated decisions | Legacy systems are where most engineering work happens. Learn from them. |
| Your code will be deployed to users | Your first several PRs will go through multiple review cycles before merging | Code review is where you learn the most. Ask questions; accept feedback. |
| You will be given clear tasks | Tasks are often ambiguous; you will need to ask questions and make judgement calls | Ask for clarification early. Deliver a reasonable interpretation and iterate. |
| Your manager will guide you closely | Your manager may be busy; you will need to be proactive about your own development | Book regular one-on-ones. Come with specific questions and topics. |
| You will be evaluated on individual output | You will be evaluated on team outcomes and your contribution to them | Help unblock others. Share credit. Focus on team success. |
| Lesson | Explanation |
|---|---|
| Your career is a marathon, not a sprint | Early optimisation for salary at the cost of learning rarely pays off. The compound effect of 5 years of learning is worth more than 5 years of slightly higher salary. |
| Your network is your net worth | The opportunities that matter — the great team, the right project, the perfect role — come through people. Invest in relationships continuously. |
| Reputation is hard to build, easy to lose | Deliver consistently; be honest; help others. A single act of dishonesty can undo years of good work. |
| Change is the only constant | Technologies, companies, roles and industries change. The ability to learn and adapt is the only durable skill. |
| Do the work | There is no shortcut to competence. The problems you solve, the code you ship, the systems you build — these are the source of growth. |
| Take care of yourself | Burnout is real and affects the best engineers. Sustainable pace is not laziness; it is professional discipline. |
| Choose your battles | Not every disagreement needs to be resolved. Pick your fights; save your energy for what matters. |
| Be kind | You will meet the same people throughout your career. Being kind is both right and pragmatic. |
| Unit | Core Topics | Key Numbers / Facts |
|---|---|---|
| I | Computational Thinking, SDLC | 4 CT pillars; 6 SDLC phases; maintenance = 60–70% of lifetime cost |
| II | Version Control, Cyber Security | 3 trees of Git; CIA triad; 4 firewall generations; default-deny |
| III | AI, Emerging Tech, Career Planning | ANI/AGI/ASI; 4 ML paradigms; RIASEC 6 types; SMART 5 criteria; IDP components |
| IV | OS, Networking, Cloud, Professional Development | 7 OSI layers; 4 TCP/IP layers; 3 cloud service models; 4 professional readiness dimensions |
| V | Ethics, Teamwork, Project Management, Capstone | 8 IEEE/ACM principles; 5 Tuckman stages; 3 project constraints; 3 Scrum roles/artifacts/4 ceremonies |
| VI | Industry Readiness, Career Launch | 14-week capstone timeline; 90-day onboarding plan; 30 common HR questions |
| Category | Formula |
|---|---|
| Software quality | Defect density = defects ÷ KLOC; Availability = MTBF ÷ (MTBF + MTTR) |
| Agile | Velocity = points ÷ sprint; Sprints remaining = backlog ÷ velocity |
| Security | Risk = Threat × Vulnerability × Impact; N = CL; T = N/(2R) |
| ML metrics | Accuracy = (TP+TN)/total; Precision = TP/(TP+FP); Recall = TP/(TP+FN); F1 = 2PR/(P+R) |
| Networking | Subnets = 2n; Hosts = 2h−2; new prefix = old + n |
| Cloud cost | Total = Σ (quantity × unit price × duration) |
| Career planning | Gapi = Ri − Ci; Total = Σ wi(Ri − Ci); Gap closure % = (Cnow−Cstart)/(R−Cstart)×100 |
| Project management | CPI = EV/AC; SPI = EV/PV; CV = EV−AC; SV = EV−PV; Slack = LS−ES |
| Estimation | Three-point: E = (O + 4M + P)/6 |
| Topic | Mnemonic |
|---|---|
| Computational Thinking | DPAA — Decomposition, Pattern Recognition, Abstraction, Algorithm |
| SDLC Phases | RDITDM — Requirements, Design, Implementation, Testing, Deployment, Maintenance |
| OSI Layers | Please Do Not Throw Sausage Pizza Away |
| TCP/IP Layers | NITA — Network Access, Internet, Transport, Application |
| CIA Triad | Confidentiality, Integrity, Availability |
| AAA | Authentication, Authorisation, Accounting |
| RIASEC | Realistic, Investigative, Artistic, Social, Enterprising, Conventional |
| SMART Goals | Specific, Measurable, Achievable, Relevant, Time-bound |
| 7 Cs | Clear, Concise, Concrete, Correct, Coherent, Complete, Courteous |
| STAR | Situation, Task, Action, Result |
| SBI | Situation, Behaviour, Impact |
| STAR-P | Situation, Task, Action, Result, Proof |
| Tuckman | Forming, Storming, Norming, Performing, Adjourning |
| Triple Constraint | Scope, Time, Cost (Quality is the outcome) |
| MoSCoW | Must-have, Should-have, Could-have, Won't-have |
| Cloud Models | IaaS, PaaS, SaaS, FaaS (decreasing user responsibility) |
Write down what you learn. A personal knowledge base — whether a simple notes app, a wiki, or a blog — compounds over years. The act of writing forces clarity; the artefact becomes a reference; the accumulation becomes a competitive advantage. Engineers who maintain a learning journal for five years are unrecognisably more capable than those who do not.
Q1. Explain the difference between the "walking skeleton" approach and a prototype. Why does the walking skeleton reduce integration risk? Medium
Q2. A capstone project has 12 weeks and a team of four. Design a milestone plan with at least 6 gates. Explain what happens if the walking skeleton gate is missed. Hard
Q3. Explain the MoSCoW prioritisation method. Apply it to a campus event management system with at least 10 features. Medium
Q4. Distinguish between acceptable and unacceptable technical debt in a student project. Give at least four examples of each. Medium
Q5. Describe the stages of the campus placement process. What specific preparation does each stage require? Easy
Q6. Compare the expectations of product companies, service companies and consulting firms. How would you tailor your preparation for each? Medium
Q7. Explain the two-pointer technique with an example. Solve "Container With Most Water" using this approach. Medium
Q8. Explain dynamic programming with the "Longest Common Subsequence" problem. Show the recurrence relation, base cases, and complexity. Hard
Q9. Write SQL queries for the following: (a) find the second-highest salary from an Employees table; (b) find departments with more than 10 employees; (c) find employees who earn more than their department's average. Hard
Q10. Explain the difference between a process and a thread. Why is a context switch between threads cheaper than between processes? Medium
Q11. Trace the full sequence of events when a user types "https://example.com" into a browser and presses enter. Include DNS, TCP, TLS and HTTP. Hard
Q12. Design a URL shortener. Cover requirements, API design, data model, URL generation, redirection flow, scaling considerations, and analytics. Hard
Q13. Apply the STAR method to answer: "Tell me about a time you had to make a difficult decision." Write the full response. Medium
Q14. Write a referral request email to a college alumnus at a target company. Justify each element of the email. Medium
Q15. Describe a structured 90-day plan for a new graduate joining a software team. Include specific goals and success metrics for each 30-day period. Medium
Walking skeleton vs prototype:
| Aspect | Walking Skeleton | Prototype |
|---|---|---|
| Purpose | Validate architecture and integration end-to-end | Validate a specific feature concept or UI |
| Completeness | Thin but complete — touches every layer (UI, API, DB, deployment) | Partial — focuses on one aspect |
| Production-readiness | Production-shaped — uses the real stack, real database, real deployment | Often throwaway — may use mock data and mock services |
| Fate after creation | Becomes the foundation for all subsequent features | Often discarded after learning |
| Time investment | 2–6 weeks | Days to weeks |
Why it reduces integration risk: Integration is the largest source of schedule risk in any project. When teams build components separately and integrate late, mismatched assumptions cause days of rework. The walking skeleton forces integration issues to surface early — in week 4 or 6 rather than week 12 — when there is still time to address them. Every subsequent feature is an increment to a working system rather than a new integration risk.
12-week capstone milestone plan with 6 gates:
| Week | Milestone | Gate Criteria |
|---|---|---|
| 2 | Problem validated | ≥ 10 user interviews conducted; problem confirmed; scope defined |
| 4 | Design complete | Architecture diagram, ER diagram, API spec, wireframes reviewed |
| 6 | Walking skeleton | End-to-end flow working; deployed; CI running; live URL exists |
| 8 | Must-have features complete | All MoSCoW "Must-have" features implemented and integrated |
| 10 | Testing complete | Unit and integration tests passing; UAT with ≥ 5 users conducted |
| 12 | Deployed, documented, demo-ready | Live deployment; README, user guide; demo rehearsed 3 times |
If the walking skeleton gate is missed (no working end-to-end flow by week 6):
MoSCoW prioritisation: Must-have, Should-have, Could-have, Won't-have — a method for categorising project scope by priority.
Applied to a campus event management system:
| Feature | Priority | Justification |
|---|---|---|
| Event creation by organisers | Must-have | Without this, no events exist to manage |
| Event listing for students | Must-have | The core user-facing value |
| Registration for events | Must-have | Core purpose of the system |
| User authentication | Must-have | Required for registration and access control |
| Email confirmation on registration | Should-have | Important for UX; manual confirmation possible if unavailable |
| Event capacity management | Should-have | Important for popular events; can be manual initially |
| Search and filter events | Should-have | Important as the number of events grows |
| QR code check-in at events | Could-have | Nice UX; manual check-in works |
| Event feedback and ratings | Could-have | Valuable but not essential for launch |
| Social sharing of events | Could-have | Marketing value but not a core function |
| Native mobile apps | Won't-have | Responsive web is sufficient for the timeline |
| Payment gateway | Won't-have | Events are free; paid events are out of scope |
| Analytics dashboard for organisers | Won't-have | Deferred to a future version |
| Acceptable Debt | Unacceptable Debt |
|---|---|
| Hard-coded config values in a dev environment (timeouts, feature flags) | Hard-coded secrets, API keys or passwords in a public repository |
| Minimal UI styling on internal admin pages | Missing input validation on public forms (SQL injection, XSS risk) |
| Skipped tests for a prototype feature that may be discarded | No tests for critical business logic (payment, authentication, data integrity) |
| Simple monitoring (single health endpoint) | No error handling — crashes on unexpected input |
| Manual deployment scripts | Deployment that only one team member can run; no documentation |
| Temporary data migration scripts | Direct manipulation of the production database without a rollback plan |
| Reused component code with minor duplication | Copy-pasted security-critical code with divergent modifications |
| Basic logging (console output) | Logging that includes passwords, tokens or personal data |
Rule of thumb: if the debt could cause a security breach, data loss, or an undiagnosable failure, it is unacceptable. If it merely slows development, it can be documented and accepted with a plan to address it.
Stages of the campus placement process and preparation:
| Stage | Preparation |
|---|---|
| Resume screening | ATS-optimised CV; strong projects section; relevant keywords from the job description; proofread twice |
| Online assessment | Timed practice on aptitude (quantitative, logical, verbal); DSA speed; domain MCQs |
| Technical Round 1 (DSA) | 150–300 DSA problems solved; mock interviews; practise communicating thought process |
| Technical Round 2 (Domain) | Revise DBMS, OS, networks, OOP; prepare project STAR stories; be ready to explain design decisions |
| System Design (some roles) | Study common designs (URL shortener, chat, feed); practise articulating trade-offs |
| HR Round | Research the company; prepare thoughtful questions; rehearse common HR questions; be genuine |
| Manager / Bar Raiser | Reflect on real decisions and outcomes; be honest about uncertainty; demonstrate ownership and integrity |
| Parameter | Product Companies | Service Companies | Consulting Firms |
|---|---|---|---|
| Primary emphasis | DSA, system design, problem-solving | Aptitude, communication, trainability | Case studies, structured thinking, communication |
| Interview format | 2–4 technical rounds with DSA and design | Aptitude test + technical + HR | Case interview + guesstimates + fit round |
| Preparation focus | 300+ DSA problems; system design fundamentals | Aptitude speed; clear communication; basic coding | Case frameworks; business acumen; structured problem-solving |
| Typical roles | SDE, Data Scientist, Product Manager | Software Engineer, Systems Engineer | Technology Consultant, Business Analyst |
| Compensation | Higher base; stock options | Lower base; predictable progression | Moderate base; significant travel and exposure |
| Growth | Deep technical specialisation | Broad exposure; project-based | Business and technology intersection |
Two-pointer technique: A technique for solving array or string problems in \(O(n)\) time by maintaining two indices that move through the data structure according to a rule. Commonly used for: sorted array sum problems, sliding window problems, and problems where one pointer moves faster than the other.
Container With Most Water:
Problem: Given an array of non-negative integers where each element represents the height of a vertical line, find two lines that together with the x-axis form a container holding the most water.
Approach: Start with pointers at both ends. The area is \(\min(h_L, h_R) \times (R - L)\). Move the pointer with the smaller height inward, because the area is limited by the shorter line — moving the taller line inward can only decrease or maintain the width without the possibility of increasing the height.
def max_area(height):
left, right = 0, len(height) - 1
max_water = 0
while left < right:
h = min(height[left], height[right])
w = right - left
max_water = max(max_water, h * w)
if height[left] < height[right]:
left += 1
else:
right -= 1
return max_water
Trace for height = [1,8,6,2,5,4,8,3,7]: left=0 (h=1), right=8 (h=7): area = 1×8 = 8; left++. left=1 (h=8), right=8 (h=7): area = 7×7 = 49; right--. left=1, right=7 (h=3): area = 3×6 = 18; right--. left=1, right=6 (h=8): area = 8×5 = 40; right--. left=1, right=5 (h=4): area = 4×4 = 16; right--. left=1, right=4 (h=5): area = 5×3 = 15; right--. left=1, right=3 (h=2): area = 2×2 = 4; right--. left=1, right=2 (h=6): area = 6×1 = 6; right--. Loop ends. Result: 49.
Complexity: Time \(O(n)\), Space \(O(1)\).
Longest Common Subsequence (LCS): Given two strings, find the length of the longest subsequence common to both. A subsequence is a sequence that appears in the same relative order but not necessarily contiguously.
Recurrence relation: Let \(dp[i][j]\) be the length of the LCS of the first \(i\) characters of string A and the first \(j\) characters of string B.
\[ dp[i][j] = \begin{cases} 0 & \text{if } i=0 \text{ or } j=0 \\ dp[i-1][j-1] + 1 & \text{if } A[i-1] = B[j-1] \\ \max(dp[i-1][j],\ dp[i][j-1]) & \text{otherwise} \end{cases} \]
Base cases: \(dp[0][j] = 0\) for all \(j\) (empty string A has no common subsequence); \(dp[i][0] = 0\) for all \(i\) (empty string B has no common subsequence).
def lcs(A, B):
m, n = len(A), len(B)
dp = [[0] * (n + 1) for _ in range(m + 1)]
for i in range(1, m + 1):
for j in range(1, n + 1):
if A[i - 1] == B[j - 1]:
dp[i][j] = dp[i - 1][j - 1] + 1
else:
dp[i][j] = max(dp[i - 1][j], dp[i][j - 1])
return dp[m][n]
Trace for A = "ABCBDAB", B = "BDCABA": the final answer is 4, corresponding to the LCS "BCBA" or "BDAB".
Complexity: Time \(O(m \times n)\), Space \(O(m \times n)\). Space can be optimised to \(O(\min(m, n))\) by keeping only two rows.
(a) Second-highest salary from Employees:
SELECT MAX(salary) AS second_highest
FROM Employees
WHERE salary < (SELECT MAX(salary) FROM Employees);
Alternative using LIMIT/OFFSET:
SELECT DISTINCT salary
FROM Employees
ORDER BY salary DESC
LIMIT 1 OFFSET 1;
(b) Departments with more than 10 employees:
SELECT department_id, COUNT(*) AS employee_count
FROM Employees
GROUP BY department_id
HAVING COUNT(*) > 10;
(c) Employees earning more than their department's average:
SELECT e.name, e.salary, e.department_id
FROM Employees e
WHERE e.salary > (
SELECT AVG(salary)
FROM Employees
WHERE department_id = e.department_id
);
Alternative using a window function:
SELECT name, salary, department_id
FROM (
SELECT name, salary, department_id,
AVG(salary) OVER (PARTITION BY department_id) AS dept_avg
FROM Employees
) sub
WHERE salary > dept_avg;
| Parameter | Process | Thread |
|---|---|---|
| Definition | Independent program in execution | Unit of execution within a process |
| Address space | Its own address space, isolated from other processes | Shares the address space of its parent process |
| Resources | Owns file descriptors, memory, signal handlers | Shares file descriptors and memory; own stack, registers, program counter |
| Communication | Inter-process communication (pipes, sockets, shared memory) | Direct memory sharing (with synchronisation) |
| Creation cost | High — fork/exec, memory allocation | Low — only stack and registers allocated |
| Context switch cost | High — MMU must switch page tables, TLB flushed | Low — same address space, no MMU change, TLB preserved |
| Isolation | Strong — a crash in one process does not affect others | Weak — a crash in one thread crashes the whole process |
Why thread context switch is cheaper: When switching between processes, the OS must save and restore the full process state, including the memory management unit (MMU) state — the page tables and TLB (translation lookaside buffer). The TLB must be flushed because virtual-to-physical mappings change between processes, and the cache locality is destroyed. When switching between threads of the same process, the address space is identical, so the MMU state does not change, the TLB is preserved, and cache locality is largely retained. Only the thread-specific state (registers, program counter, stack pointer) needs to be saved and restored.
Sequence of events when a user types "https://example.com":
.com → the authoritative nameserver for example.com.GET / request with headers (Host, User-Agent, Accept, Cookies).Design a URL Shortener (e.g. bit.ly):
1. Requirements:
2. API design:
POST /api/v1/urls
Body: { "long_url": "https://...", "custom_alias": "optional" }
Response: { "short_url": "https://sho.rt/abc123", "expires_at": null }
GET /{short_code}
Response: 302 Redirect to long_url
GET /api/v1/urls/{short_code}/stats
Response: { "clicks": 1234, "created_at": "...", "referrers": {...} }
3. Data model:
urls table:
short_code VARCHAR(10) PRIMARY KEY
long_url TEXT NOT NULL
user_id BIGINT
created_at TIMESTAMP
expires_at TIMESTAMP NULL
clicks table (or use a time-series store):
short_code VARCHAR(10)
clicked_at TIMESTAMP
referrer VARCHAR(255)
country VARCHAR(2)
user_agent TEXT
4. URL generation:
5. Redirection flow:
GET /abc123.6. Scaling considerations:
7. Analytics:
Question: "Tell me about a time you had to make a difficult decision."
Model STAR response:
Why this works: It is a real, specific decision with genuine stakes. The candidate demonstrates structured thinking, evidence-based decision-making, collaborative leadership, and reflective learning. The response is honest about the trade-off (cutting features) rather than pretending there was a perfect solution.
Referral request email to a college alumnus:
Subject: CSE student seeking referral for SDE Intern role — Aarav Sharma
Dear Ms. Priya Nair,
I am Aarav Sharma, a third-year Computer Science student at [University].
I found your profile through the college alumni network — I noticed you
graduated from our CSE department in 2021 and currently work as a
Software Engineer at [Company].
I am applying for the SDE Intern role at [Company] (Job ID: 12345).
My background: strong in Python and JavaScript, two deployed full-stack
projects (including a campus notice portal used by 400+ students),
one AWS Cloud Practitioner certification, and 350+ DSA problems solved.
Portfolio: github.com/aarav
If you are open to it, would you be willing to refer me for this role?
I have attached my resume for your reference. If you are unable to, I
completely understand — thank you for considering it.
Thank you for your time and consideration.
Warm regards,
Aarav Sharma
+91-XXXXXXXXXX | aarav@example.com | linkedin.com/in/aarav-sharma
Justification of each element:
| Element | Why It Works |
|---|---|
| Professional subject line | States purpose, name and role; easy to scan in an inbox |
| Formal salutation | Respectful; appropriate for a first contact |
| Self-introduction | Establishes identity and context immediately |
| Shared context (college, department) | Creates a genuine connection; increases likelihood of response |
| Specific role and Job ID | Makes the referral actionable; shows you have done your research |
| Quantified background | Demonstrates capability concisely: two projects, one certification, 350 problems |
| Portfolio link | Provides verification; the alumnus can quickly assess quality |
| Specific, bounded ask | "Would you be willing to refer me" is clear; not asking for too much |
| Attachment reference | Provides the resume directly; saves the alumnus a step |
| Graceful refusal acknowledgement | Respects the alumnus's time; no pressure; increases likelihood of a positive response |
| Professional signature | Complete contact information; easy to act on |
What to avoid: A generic template; asking without specifying the role; no resume or portfolio link; over-long messages; asking for more than a referral ("Can you get me a job?"); multiple follow-ups.
90-day plan for a new graduate joining a software team:
| Period | Primary Goal | Specific Actions | Success Metrics |
|---|---|---|---|
| Days 1–30: Orientation | Understand the product, codebase and team |
|
|
| Days 31–60: First contribution | Own a small feature end-to-end |
|
|
| Days 61–90: Independent contribution | Contribute without close supervision |
|
|
Overarching habits for all 90 days:
| Code | Title | Author | Publisher |
|---|---|---|---|
| T-1 | Operating System Concepts | Abraham Silberschatz, Peter B. Galvin, Greg Gagne | Wiley |
| T-2 | Computer Fundamentals | Pradeep K. Sinha and Priti Sinha | BPB Publication, New Delhi |
| R-1 | Data Communications and Networking with TCP/IP Protocol Suite | Behrouz A. Forouzan | McGraw Hill |
| Resource | Topic |
|---|---|
| Cracking the Coding Interview — Gayle McDowell | DSA interview preparation |
| Designing Data-Intensive Applications — Martin Kleppmann | System design and distributed systems |
| System Design Interview — Alex Xu | System design question bank |
| Clean Code — Robert C. Martin | Writing maintainable code |
| The Pragmatic Programmer — Hunt & Thomas | Engineering practice and career advice |
| The Lean Startup — Eric Ries | Build–Measure–Learn, MVP methodology |
| So Good They Can't Ignore You — Cal Newport | Career capital, skill development |
| IEEE/ACM Software Engineering Code of Ethics | Professional ethical framework |
| Scrum Guide (scrumguides.org) | Definitive Scrum reference |
| OWASP Top 10 | Web application security risks |
| CO | Statement | Primary Units | Assessment Component |
|---|---|---|---|
| CO1 | Apply computational thinking and computing environment concepts to solve basic computing problems | Unit I | Test |
| CO2 | Explain software development practices, version control and fundamental cybersecurity concepts | Unit II | Test, Dream CV |
| CO3 | Identify and utilize academic enrichment opportunities such as EDU-RevolUTION | Unit III | EDU-RevolUTION Task |
| CO4 | Describe AI, ML, Generative AI, Agentic AI and emerging technologies with ethical considerations | Unit III | Assignment, Dream CV |
| CO5 | Analyze cohorts, career pathways, competency requirements and skill gaps to prepare a career development plan | Units III, IV | Assignment, Dream CV |
| CO6 | Build a professional portfolio and Dream CV showcasing academic, technical and professional achievements | Units IV, V, VI | Dream CV |
| Component | Weightage | Mapped COs | Key Preparation Sections |
|---|---|---|---|
| Test | 25% | CO1, CO2 | Units I, II; Unit V Sections I–IV; Unit VI Sections III–IV |
| Design Your Dream CV | 25% | CO1, CO2, CO4, CO5, CO6 | Unit IV Sections VII–VIII; Unit V Section II; Unit VI Sections II, VI |
| EDU-RevolUTION Task | 25% | CO3 | Unit III Section I; Unit IV Sections IV, X, XII |
| Assignment | 25% | CO4, CO5 | Unit III Sections IV–VII; Unit IV Sections V–VI, IX, XI; Unit V Sections I, III, V; Unit VI Sections II, VIII |
Before completing the course, confirm you can do each of the following without referring to notes:
You have completed six units spanning the technical, ethical, professional and strategic dimensions of computing. The knowledge you have accumulated will be tested not in an exam but in your first job, your first project, your first production incident, your first ethical dilemma, your first leadership opportunity. The mark of a professional is not what they know but how they act when the pressure is on, when no one is watching, and when the easy choice and the right choice diverge. Build the foundations, maintain your integrity, keep learning, and be kind. Everything else follows.
CSE111 Orientation to Computing is not a course about software. It is a course about becoming an engineer — a person who thinks systematically, builds reliably, acts ethically and grows continuously. The specific technologies you learned will change. The Git commands may evolve. The cloud providers may be replaced. But the mental habits, the professional standards, and the personal discipline you have developed in this course will remain valuable for the whole of your career.
Go build something worth building. Go be the engineer that teammates trust, managers rely on, and users benefit from. And when you succeed — which you will, if you keep learning and keep your integrity — remember to help the next person behind you. That is what a profession is.