Amazon Intern 0611 VO 面经回顾|在 OAVOSERVICE 实时辅助下拿下新题

2025-06-11
Amazon Intern 0611 VO 面经回顾 封面

上周五的一轮 Amazon Intern VO,候选人遇到了一道完全没在任何面经里见过的新题。在 OAVOSERVICE 的实时辅助下,不仅稳住了节奏,还通过合理思考和实现,顺利过关。

Round BQ

前 15 分钟是 BQ 环节,问题包括:

  • 如何 帮助他人
  • 缺少信息 的情况下如何做决策

👉 在 OAVOSERVICE 的辅导下,候选人提前准备了多套 STAR 故事,回答时能快速切入情境,逻辑清晰,避免了空泛回答。

Coding:TextEditor + Undo/Redo

题目要求:实现一个 TextEditor() 类,需支持:

  • cursorPosition:光标位置
  • text:当前文本内容

接口:

  • insertText(str):在光标位置插入,并移动光标
  • deleteText(start, end):删除 [start, end)
  • getText()getCursorPosition()setCursorPosition()
  • 多级 undo/redo(undo 后新操作需覆盖 redo)

clarify 与核心思路

  • 是否所有操作(插入/删除/移动)都支持撤销/恢复?
  • 复杂度要求:是否需要 O(1) 还是允许 O(n)?

解法:两个栈管理历史与撤销:

  • undoStack:记录最近操作(含反向信息)
  • redoStack:记录被撤销的操作
  • 新操作:压入 undoStack,清空 redoStack
  • undo:从 undoStack 弹出并执行逆操作,压入 redoStack
  • redo:从 redoStack 弹出并重做,压入 undoStack

这种建模清晰、可扩展,契合 Amazon 常见的设计风格。

总结

  • 快速 clarify,先确定边界与约束。
  • 用数据结构抽象问题,避免被实现细节卡住。
  • 边写边讲,持续对齐面试官,展现沟通与问题解决能力。

最终,这轮顺利拿下。有 OAVOSERVICE 的陪伴,遇到新题也能从容不迫,展示超出预期的解题思维。