Debugging
104 bites tagged Debugging — interview questions with model answers, and 60-second explainers.
Diagnose a slow, laggy Figma prototype
Heavy raster images and effects, layer and node count, and excessive prototype interactions. ability to debug Figma performance systematically. blaming the device or vaguely saying delete things without a method.
Which two Flipper plugins diagnose an unresponsive UI?
Use the React DevTools profiler to find expensive renders and the Performance/Hermes plugin to spot a blocked JS thread or low FPS. practical profiling workflow.
Cost of console.log and production-safe debugging
Each console.log serializes data and, when devtools are attached, crosses the bridge synchronously, blocking the JS thread; strip logs in release and use Flipper, dev tools, or remote crash and analytics tools. Debug logging cost.
Diagnosing intermittent crashes with PM2
PM2 auto-restarts and runs cluster mode for availability, inspect logs and metrics, watch memory for leaks, capture errors. using a process manager for resilience plus diagnosis.
Correlating logs, metrics, and traces
Propagate a trace and span ID through context, stamp it on logs and metric exemplars, then pivot metric to trace to logs. knowing the trace ID is the glue across signals. correlating only by timestamp.
The three pillars of observability
Metrics show what and when via cheap aggregates, logs give detailed per-event context, traces show where across services. Knowing each telemetry type's strength.
Observability vs Monitoring
Monitoring watches predefined metrics and alerts on known failure modes you anticipated. Observability is the property of being able to ask new questions about a system's internal state from its outputs, letting you debug unknown failures you never predicted…
Fixing a prompt that ignores key constraints
Move the critical constraint to a prominent position, state it positively and specifically, separate instructions from data with delimiters, and add a concrete example. practical prompt-engineering instincts.
Debug a running container with the Docker CLI
Docker inspect for full state and config, docker logs -f to follow output live, docker exec -it <id> sh or bash for an interactive shell. practical container debugging.
Trace a container process's syscalls from the host
Find the host PID via docker inspect or ps, then strace -p that PID from the host, since the container shares the host kernel. understanding that containers are host processes.
Diagnosing database latency layer by layer
Split total time into pool-wait, query execution, and ORM-generated query patterns; use metrics at each layer. structured latency diagnosis.
Diagnosing Spark executor OutOfMemoryError
Check the Spark UI for skew and spills, inspect executor memory and partition count, find culprits like wide collect, huge shuffles, or skewed keys, and fix via more partitions, memory tuning, or… systematic Spark memory debugging.
Difference between metrics and logs
Metrics are aggregated numeric time series good for trends and alerting; logs are discrete timestamped event records good for detailed root-cause analysis. observability fundamentals.
Debug intermittent pod-to-pod connectivity
Scope the failure by path, rule out DNS, inspect kube-proxy iptables and conntrack, check the CNI, then verify cloud security groups and MTU. systematic network debugging. restarting pods with no hypothesis.
Investigating analytics vs database count gaps
Causes include ad-blocker loss, differing identity logic, timezone mismatches, filtering, and pipeline delay; investigate by aligning definitions and tracing one user. Data-quality debugging. Trusting one source blindly.
Debugging a closure capture leak in a third-party library
Use the Memory Graph Debugger to inspect retain paths, the Leaks and Allocations instruments, and malloc stack logging; trace the cycle before patching. methodical leak diagnosis.
Using dSYM files to symbolicate crash reports
A dSYM maps stripped memory addresses back to function names, files, and line numbers; matched by UUID it symbolicates the report to readable frames. crash symbolication knowledge.
Debugging Service connectivity between Pods
Kubectl get endpoints to check the Service has Pod IPs (selector match); kubectl describe service to verify selector and ports; exec into the frontend to curl the Service DNS name. Systematic Service debugging.
Debugging a Pod in CrashLoopBackOff
Kubectl describe pod for events, restarts, and last state; kubectl logs (with --previous) for the crashed container's output. Practical Pod debugging instinct.
Sprint velocity is highly variable. What technical root causes do you check?
Check scope stability via carryover, flow via cycle time, quality via rework, and estimation via point variance. Debugging velocity variance with data, not assumptions. Blaming people or treating velocity as a performance target.
How do you debug and fix flaky Cypress E2E tests?
This tests systematic debugging of async UI behavior. A strong answer isolates root causes via logs and screenshots, fixes races with explicit waits or intercepts, and stubs APIs not network timing.
UX researcher finds usability issues in your feature. Your process?
It tests triaging qualitative UX feedback with telemetry and cross-functional collaboration. Reproduce the issue, correlate with logs, isolate UI or backend causes, then co-design a fix via prototype or A/B test.
Matt Pocock Tutorial Covers Ten TypeScript Errors
Cryptic TypeScript errors waste hours. Matt Pocock's new tutorial isolates ten common messages from "Type Not Assignable" to "Property Does Not Exist" in interactive exercises. Clone the repo or use Gitpod to build debugging instincts instead of guessing.
Debugging React Native Performance
React Native drops frames when the JS thread overloads, not just from bad code. Complex re-renders, console.log statements, or dev mode freeze touches and animations. Never trust performance numbers from development builds; always test in release mode.
Get Debugging bites daily.
Five a day, five minutes, offline. With quizzes so it sticks.
Open testing — you’ll join as an early tester.