Tiktok VO 面试真题之二叉树,csoahelp面试辅助力挽狂澜领offer – 一亩三分地

是我们的客户在tiktok真实 VO 面试里遇到的原题。

Problem

You are given two integer arrays preorder and inorder where:

preorder is the preorder traversal of a binary tree (root → left → right).
inorder is the inorder traversal of the same tree (left → root → right).

Return the postorder traversal (left → right → root) of the tree.

Example:
Input:
preorder = [1,2,4,5,3,6]
inorder = [4,2,5,1,3,6]

Output:
[4,5,2,6,3,1]

题目一出来,现场其实挺安静的。
这种安静不是冷场,是那种双方都知道这题不复杂,但也都清楚接下来会发生什么的安静。

候选人先把题目读了一遍,顺手看了下例子,数字不多,结构也很清楚。面试官没催,就等着候选人开口。这也给csoahelp的辅助老师继续写下面的提示充足的时间。

随后csoahelp面试辅助老师即时推送了需要澄清的问题,候选人照着念,数组里没有重复值,长度是一样的,保证能还原成一棵合法的二叉树。对方很快点头,说可以按这个前提来。

然后候选人依据csoahelp面试辅助老师给出的答案开始口头过思路,边说边在脑子里拆那棵树。
先序的第一个数是根,这个大家都知道。关键在中序里怎么切,切完左右子树,接下来每一层递归数组怎么走。

说到这里的时候,面试官没插话,只是偶尔“嗯”一下。

随后我们csoahelp辅助老师带着候选人写代码,候选人不停的把代码往面试平台上搬运copy。

代码写到一半的时候,面试官开始了follow up “如果数组很长,你这样写会不会有性能问题?”

候选人停了一下,csoahelp辅助老师非常熟练的紧急停止原来的代码过程,优先写注释应对这个follow up 。候选人随机照着念解释我现在这个实现的时间复杂度,哪里会重复扫描 inorder,哪里可以提前优化。对方又追了一句,如果不用递归,你会怎么做?

后面那十几分钟,基本就在这道题上来回展开。
从数组切分,到索引边界,再到极端情况,像是一点点往下挖。总体来说面试的强度非常的高,代码+注释写了100多行,面试官对我们客户候选人的表现也非常的满意。

如果你也在准备Apple、Meta、TikTok等大厂的算法与系统设计面试,却不清楚如何拆题和应对各种边界,欢迎添加微信,即可领取北美面试求职通关秘诀。我们也有代面试,面试辅助,OA代写等服务助您早日上岸~

Leave a Reply

Your email address will not be published. Required fields are marked *