凌晨面完TikTok的一轮coding,整个人还有点恍惚。他家真的挺看重代码速度和蕞优解,节奏很快,不给你慢慢磨叽的机会。趁热乎把真题整哩出来,给后面面试的小伙伴一点参考。
1. Two Sum
Leetcode第一题,但千万别以为能直接暴力解糊弄过去。面试官心里门儿清,你要是只给O(n²)的解法,基本就凉了。标准答案必须是哈希表优化到O(n),而且最好能写出一遍哈希表的版本,边遍历边存,查到complement直接return。这样写显得你对代码真的熟练,不是背题的。
2. Longest Substring Without Repeating Characters
经典滑动窗口,字符串题的常客。核心思路是用一个哈希表或者数组记录每个字符最近出现的位置。右指针不断往右走,遇到新字符就检查它之前出现过没有。如果出现过并且在当前窗口内,左指针直接跳到重复字符的下一个位置,而不是一步一步往右挪。这样每个字符最多被访问两次,时间复杂度O(n)。
3. Coin Change
典型的DP题,面试官想看你有没有动态规划的思维。关键是定义好dp[i]——凑成金额i所需的最少硬币数。初始化dp[0]=0,其他都设成一个比较大的数。然后状态转移:dp[i] = min(dp[i], dp[i - coin] + 1) for each coin。最后如果dp[amount]还是初始值,就返回-1。逻辑捋清楚了,代码其实不长。
4. Number of Islands
基础的图遍历题,DFS或者BFS都能解。思路很简单:遍历整个grid,每碰到一个'1',岛屿数加一,然后从这个点开始做DFS/BFS,把整个岛都“淹掉”变成'0',防止重复算。注意边界条件处理好,别越界。
整体感觉TikTok的coding面试节奏确实快,四道题下来基本没喘息的时间。需要你对经典题型非常熟悉,能快速写出bug-free的蕞优解。建议多刷高频题,把思路练成肌肉记忆。我也把Tiktok SDE coding题整哩下来啦,🙌🏻【Tik】
最新评论 2
: 逻辑杠杠的 逻辑杠杠的
: 外行人只感觉好厉害 外行人只感觉好厉害