Technical Interview Preparation for Developers
Nigerian tech companies (Andela, Flutterwave, Paystack, Interswitch) use rigorous technical interviews. Master the fundamentals to succeed.
Interview Process at Nigerian Tech Companies
Stage 1: Recruiter Screen (20-30 min)
- Tell me about yourself
- Why this company?
- Salary expectations
- High-level technical questions
Stage 2: Technical Phone Screen (45-60 min)
- Live coding on CoderPad or HackerRank
- 1-2 algorithm problems (Easy-Medium difficulty)
- Explain your thought process out loud
Stage 3: Onsite/Virtual Technical Interview (3-5 rounds)
- Coding Round 1 & 2: Data structures & algorithms
- System Design: Design scalable systems (for mid/senior roles)
- Behavioral Round: Past projects, teamwork, conflict resolution
- Domain Round: Frontend, backend, or mobile-specific questions
Core Topics to Master
1. Data Structures
- Arrays & Strings: Two pointers, sliding window, string manipulation
- Linked Lists: Reversal, cycle detection, merge lists
- Stacks & Queues: Implementation, parentheses validation, monotonic stack
- Hash Tables: Two sum, anagram grouping, frequency counting
- Trees: Binary trees, BST, DFS/BFS traversal
- Graphs: DFS/BFS, shortest path, connected components
- Heaps: Min/max heap, top K elements, merge K sorted lists
2. Algorithms
- Sorting: Merge sort, quick sort, counting sort
- Searching: Binary search and variations
- Recursion & Backtracking: Permutations, combinations, N-queens
- Dynamic Programming: Fibonacci, knapsack, longest subsequence
- Greedy: Activity selection, minimum coins
- Two Pointers: For sorted arrays and strings
- Sliding Window: Maximum sum subarray, longest substring
3. Time & Space Complexity
Always analyze your solution's Big O complexity:
- O(1) - Constant
- O(log n) - Logarithmic (binary search)
- O(n) - Linear (single loop)
- O(n log n) - Merge sort, efficient sorting
- O(n²) - Quadratic (nested loops)
- O(2ⁿ) - Exponential (recursive fibonacci without memoization)
Common Interview Questions
Question 1: Two Sum (Easy)
Problem: Given an array of integers and a target, return indices of two numbers that add up to target.
Example: nums = [2, 7, 11, 15], target = 9 → Output: [0, 1]
Solution (Hash Map - O(n) time, O(n) space):
def twoSum(nums, target):
seen = {} # Store value: index
for i, num in enumerate(nums):
complement = target - num
if complement in seen:
return [seen[complement], i]
seen[num] = i
return []
Question 2: Reverse Linked List (Easy-Medium)
Problem: Reverse a singly linked list.
Example: 1 → 2 → 3 → 4 → 5 becomes 5 → 4 → 3 → 2 → 1
Solution (Iterative - O(n) time, O(1) space):
def reverseList(head): prev = None current = head while current: next_node = current.next # Save next current.next = prev # Reverse pointer prev = current # Move prev forward current = next_node # Move current forward return prev
Question 3: Valid Parentheses (Medium)
Problem: Check if string of brackets is valid: (), {}, []
Example: "()" → True, "([)]" → False
Solution (Stack - O(n) time, O(n) space):
def isValid(s):
stack = []
mapping = {')': '(', '}': '{', ']': '['}
for char in s:
if char in mapping: # Closing bracket
if not stack or stack.pop() != mapping[char]:
return False
else: # Opening bracket
stack.append(char)
return len(stack) == 0
System Design (For Mid/Senior Roles)
Common System Design Questions:
- Design a URL shortener (like bit.ly)
- Design a payment processing system for Nigeria
- Design WhatsApp/messaging app
- Design an e-commerce platform
- Design a ride-sharing app (like Uber)
System Design Framework (RADIO):
- Requirements: Clarify functional and non-functional requirements
- API Design: Define endpoints and data models
- Database Schema: Choose SQL vs NoSQL, design tables
- Implementation: High-level architecture diagram
- Optimizations: Caching, load balancing, sharding
Example: Design a URL Shortener
Requirements:
- Functional: Shorten URL, redirect to original, analytics
- Non-functional: Low latency, high availability, scalable (1M URLs/day)
API:
POST /shorten
Body: { "original_url": "https://example.com/very/long/path" }
Response: { "short_url": "https://short.ly/abc123" }
GET /abc123
Response: 301 Redirect to original URL
Database Schema (SQL):
Table: urls - id: BIGINT (primary key) - short_code: VARCHAR(10) (indexed, unique) - original_url: TEXT - created_at: TIMESTAMP - clicks: INT (for analytics)
Architecture:
- Load Balancer → App Servers (Node.js/Python) → Database (PostgreSQL)
- Redis cache for frequently accessed URLs
- Base62 encoding for short codes (a-zA-Z0-9 = 62 characters)
Preparation Strategy
8-Week Study Plan:
- Weeks 1-2: Arrays, strings, hash tables (30 problems)
- Weeks 3-4: Linked lists, stacks, queues, trees (30 problems)
- Weeks 5-6: Graphs, recursion, backtracking, DP (30 problems)
- Weeks 7-8: Mock interviews, system design, review mistakes
Resources:
- LeetCode: Practice 100+ Easy/Medium problems (focus on Nigerian company tags)
- NeetCode 150: Curated list of essential problems
- System Design Primer (GitHub): Free comprehensive guide
- Pramp/Interviewing.io: Free mock interviews with peers
Interview Day Tips
- Clarify requirements: Ask questions before coding
- Think out loud: Explain your approach step-by-step
- Start with brute force: Then optimize
- Test your code: Walk through examples, edge cases
- Handle hints gracefully: Interviewers want to help—collaborate
- Manage time: Don't spend 40 minutes on one problem
Behavioral Questions for Tech Roles
Prepare STAR method answers for:
- "Tell me about a challenging bug you debugged"
- "Describe a time you disagreed with a teammate"
- "How do you handle tight deadlines?"
- "Tell me about a project you're proud of"
Nigerian Tech Companies to Target
- Fintech: Flutterwave, Paystack, Kuda, Piggyvest
- E-commerce: Jumia, Konga
- Talent/HR Tech: Andela, Jobberman
- Logistics: Kobo360, Gokada
- Healthcare: Helium Health, mDoc
Salary ranges: Junior (₦200k-400k), Mid (₦450k-800k), Senior (₦900k-1.5M+)