How do you resolve a merge conflict in Git?
Open the conflicted files, decide what the final code should be between the conflict markers, remove the markers, run the tests, then stage the files and continue the merge or rebase.
Mobile Developer 路 Intern to senior
React Native interviews reuse most of React: components, hooks, state and rendering performance. This collection covers those shared foundations; platform-specific Android and iOS questions will be added over time.
59 questions
Open the conflicted files, decide what the final code should be between the conflict markers, remove the markers, run the tests, then stage the files and continue the merge or rebase.
Choose a real project with a technical or organisational challenge, explain your specific role and decisions with the STAR method, and finish with the result and what you learned.
Walk through how you noticed the issue, limited the impact, found the root cause, fixed it, and what you changed afterwards so the same class of bug could not happen again.
Choose a real mistake, take ownership, explain the impact, what you did to recover, and what you changed so it would not happen again.
Describe feedback that was uncomfortable but useful, explain how you responded, and show the measurable or observable improvement that followed.
Choose a genuine failure, explain why it failed, what you owned, how you recovered, and what you changed in future projects.
Show how you prioritized the essential outcome, communicated trade-offs, reduced risk and delivered without pretending everything could be done.
Show that you can defend a technical decision with evidence while remaining open to a better argument.
Keep the answer professional and future-focused: explain what you are looking for next without attacking your current or former employer.
useMemo caches the result of a calculation, while useCallback caches a function definition; both only recompute when their dependencies change.
Updating state triggers a re-render, while changing a ref's .current value does not; use state for data shown on screen and refs for DOM access or values that must persist without causing renders.
Narrowing is when TypeScript shrinks a wide type (such as a union) to a more specific type after a runtime check like typeof, instanceof, in, or a custom type guard.
A string union such as "admin" | "user" exists only in the type system and erases to plain strings. A TypeScript enum compiles to a JavaScript object (unless it is a const enum), which is extra runtime code and a weaker default.
TypeScript fills in types you omit: literals get their literal or widened type, function return types are inferred from return statements, and generic arguments are inferred from the values you pass.
git revert creates a new commit that undoes an earlier one and is safe on shared branches; git reset moves the branch pointer back to an earlier commit, effectively removing later commits from that branch鈥檚 history.
Describe a real technical or process disagreement, show that you listened and argued with evidence rather than opinion, explain how a decision was reached, and how you supported it afterwards even if it was not your idea.
Describe a problem you noticed, why you decided to act, how you coordinated with others, and the impact of taking ownership.
Explain how you identified ambiguity, clarified the important decisions, made reasonable assumptions and kept delivery moving.
Explain how you assessed urgency, impact, dependencies and risk, then communicated the resulting priorities.
Show respectful disagreement, evidence-based reasoning, willingness to listen and commitment after the final decision.