ACCELDATA – Senior SDET Interview (Round 3)
ACCELDATA – Senior SDET Interview (Round 3)
Questions & Sample Answers
Overview: These were the actual questions asked to me in the Acceldata Senior SDET (Round 3) interview.
My experience level at the time of the interview was 4+ years.
This round focused on:
-
Docker & Kubernetes fundamentals
-
Linux command clarity
-
Data processing coding problem
-
Tree/recursion-based problem solving
-
Test case design thinking
-
Framework maturity & real challenges
The discussion tested:
-
Problem-solving depth
-
System thinking
-
Structured test design
-
Practical DevOps knowledge
Question 1: Few Docker Questions
Topics covered:
-
What is Docker?
-
Difference between Image and Container
-
Docker lifecycle
-
Dockerfile instructions (FROM, RUN, COPY, CMD)
-
Difference between CMD and ENTRYPOINT
-
docker build, run, ps, logs
Focus was on practical understanding rather than definitions.
Question 2: Few Kubernetes Questions
Topics covered:
-
Pods, Deployments, Services
-
NodePort vs ClusterIP
-
LoadBalancer usage
-
CrashLoopBackOff
-
ImagePullBackOff
-
How to debug failed pods
The interviewer checked troubleshooting ability.
Question 3: Difference between du and df in Linux.
Answer:
df (Disk Free)
-
Shows disk space usage of file system
-
Displays total, used, available space
du (Disk Usage)
-
Shows disk usage of files/directories
-
Used to find which folder consumes space
Example:
df -h
du -sh *
Coding Question – CSV Processing
Question 4: Given a CSV file with City, Country, Temp – Find average temperature per country.
Answer:
Approach:
-
Read CSV line by line
-
Maintain a dictionary:
-
Key → Country
-
Value → (sum_of_temp, count)
-
-
Compute average
Sample Python Logic:
import csv
from collections import defaultdict
def average_temp(file_path):
data = defaultdict(lambda: [0, 0])
with open(file_path, 'r') as f:
reader = csv.DictReader(f)
for row in reader:
country = row["Country"]
temp = float(row["Temp"])
data[country][0] += temp
data[country][1] += 1
result = {}
for country, (total, count) in data.items():
result[country] = round(total / count, 2)
return result
Time Complexity:
O(n) — iterate once over CSV rows.
Space Complexity:
O(k) — where k = number of unique countries.
Tree Path Problem
Question 5: How many ways are there to reach A to A (top to bottom)?
(Referring to the triangular tree structure)
Understanding:
Each node splits into two children.
To reach bottom, at each level we have 2 choices.
If depth = n levels:
Total paths = 2^(n-1)
Approach:
Use recursion or mathematical formula.
Code:
def count_paths(levels):
return 2 ** (levels - 1)
Time Complexity:
O(1) (mathematical approach)
If recursive traversal:
O(2^n)
Space Complexity:
O(1) (formula)
O(n) (recursion stack)
Scenario-Based Question
Question 6: Write test cases for File Upload Feature.
Scenario Summary:
-
User enters URL
-
Clicks "Choose" → Opens file picker
-
Selects file → Path displayed in input
-
Clicks "Upload" → File uploaded
Positive Test Cases:
-
Upload valid file (allowed format)
-
Upload small size file
-
Upload max allowed size file
-
Upload supported file types (.pdf, .jpg, etc.)
-
Verify success message
-
Verify file stored correctly
-
Verify correct HTTP status code
Negative Test Cases:
-
Upload unsupported file type
-
Upload file exceeding max size
-
Click Upload without choosing file
-
Expired session during upload
-
Network failure during upload
-
Corrupted file upload
-
Upload empty file
Edge Cases:
-
Very large file near size limit
-
File name with special characters
-
Duplicate file name
-
Simultaneous uploads
-
Slow network upload
-
File path manually edited
What to Validate:
-
Status code
-
Response body
-
File integrity
-
Security (no directory traversal)
-
No sensitive data exposure
Question 7: Tell me about your framework and folder structure.
Answer:
Structure:
project/
│
├── clients/
├── utils/
├── tests/
├── config/
├── resources/
├── schemas/
├── conftest.py
├── pytest.ini
├── Dockerfile
├── Jenkinsfile
└── requirements.txt
Design Principles:
-
Reusable client layer
-
Separation of concerns
-
Config-driven execution
-
CI/CD friendly
-
Scalable for microservices
Question 8: Any Challenges Faced?
Answer:
-
Flaky tests due to timing
-
Parallel execution conflicts
-
Rate limiting
-
Environment mismatch
-
Logging inconsistencies
-
Debugging distributed failures
Solutions included:
-
Retry mechanisms
-
Better abstraction
-
Centralized logging
-
Proper environment management
Key Takeaways
-
Round 3 focused more on structured thinking and depth.
-
Strong fundamentals in Linux, Docker, Kubernetes are expected.
-
Coding clarity matters.
-
Test case design maturity differentiates senior candidates.
-
Clear explanation > complex answers.
Comments
Post a Comment