Fundamentals (Python / CS / DB / OS / Web / Testing)
Answer the following interview prompts. Keep answers precise, with examples and tradeoffs.
A) Testing & QA
-
In a project that includes
data connection management
,
user management
, and
permission management
, what are the
main testing risk areas
for each module?
-
Scenario:
WeChat scan-to-pay
(QR code payment). How would you
design test cases
?
B) Python fundamentals
-
What are the three most basic characteristics of
object-oriented programming
?
-
What are
shallow copy
and
deep copy
?
-
Differences between
list
and
tuple
?
-
Key characteristics of a
dict
?
-
What is a
decorator
and why use it?
-
Difference between
__init__
and
__new__
?
-
What is a
generator
?
-
What is an
iterator
used for?
-
What is
self
?
-
What is
serialization/deserialization
?
-
Can Python have
memory leaks
? How to avoid them?
C) Data structures & algorithms (conceptual)
-
What is a
linked list
?
-
What sorting algorithms do you know? Which is “fast”?
-
Why is quicksort’s
average
time complexity
O(nlogn)
?
-
What are the characteristics of
stack
and
queue
? When to use each?
-
What is a
binary tree
? What traversal orders exist?
-
What is a
red-black tree
?
D) Database & web/OS
-
What is a
database index
?
-
Why can indexes speed up queries?
-
What is a
B+ tree
(why used for indexes)?
-
What is
ACID
in transactions?
-
What types of
JOIN
exist?
-
When a phone opens a webpage and content loads, what key technical steps happen?
-
Concepts of
process
vs
thread
; key differences?