校招 未知部门 / 后端开发 / 一面
[面试日期] 2026-09-21 [面试时长] 47min
[学校背景] 北京邮电大学 | 211 [学历背景] 未知
[发布人] 面试之星官方收录
<h2>【字节跳动|抖音电商|后端日常实习一面】</h2>
<p>面试时间:约 47min<br>
方向:抖音电商货架</p>
<p>记录一下今天的字节一面,整体没有怎么考传统 Java 八股,主要是实习项目、AI 使用、基础算法思维和一道手撕。</p>
<h2>一、自我介绍 / 基本情况</h2>
<ol>
<li>自我介绍</li>
<li>为什么大四有比较长的实习时间?</li>
<li>后续留学的计划是什么?</li>
<li>能保证多久的实习时间?</li>
<li>上一段实习了多久?</li>
</ol>
<h2>二、实习相关</h2>
<h2>三、AI 相关</h2>
<ol>
<li>平时使用哪些 AI 工具?</li>
<li>日常开发、学习中怎么使用 AI?</li>
<li>JEV了解吗
主要聊了 GPT、Codex,以及自己学习和开发 Agent 项目的经历。</li>
</ol>
<h2>四、基础问题</h2>
<h3>1. 如何自己实现 Shuffle?</h3>
<p>给一个数组,如果不能直接调用 shuffle,让你自己实现随机洗牌,会怎么做?</p>
<p>追问:</p>
<ul>
<li>具体怎么随机?</li>
<li>这个过程执行多少次?</li>
<li>时间复杂度是多少?</li>
<li>怎么保证元素能够充分打散?</li>
<li>怎么保证头部元素也有机会移动到尾部?</li>
</ul>
<p>我这题一开始想的是随机 pivot + reverse,方向答偏了。</p>
<p>比较标准的方案应该是 Fisher-Yates:</p>
<p>对于 i = n - 1 ... 1:</p>
<p>随机生成 j ∈ [0, i]</p>
<p>交换 nums[i] 和 nums[j]</p>
<p>整体 O(n)。</p>
<h3>2. 递归 vs 非递归</h3>
<ul>
<li>递归和非递归实现有什么区别?</li>
<li>哪一种更容易理解?</li>
<li>哪一种更容易调试?</li>
<li>空间开销有什么区别?</li>
<li>效率有什么区别?</li>
<li>什么场景更适合递归?</li>
</ul>
<p>这里聊到了递归依赖调用栈,迭代通常需要自己维护显式栈;例如树的 DFS 使用递归实现通常更加简洁。</p>
<h2>五、手撕算法</h2>
<p><strong>二叉树右视图</strong>
LeetCode 199</p>
<p>给一棵二叉树,假设站在树的右侧,要求按照从上到下的顺序输出能够看到的节点。</p>
<p>需要ACM模式:</p>
<ul>
<li>定义 TreeNode</li>
<li>写函数</li>
<li>构造测试 case</li>
<li>本地运行验证</li>
</ul>
<p>最后正常 AC。</p>
<h2>六、反问</h2>
<ol>
<li>部门主要做什么业务?</li>
<li>工作地点在哪里?</li>
<li>后续面试流程大概需要多久?</li>
</ol>
<p>面试官说他感觉没啥问题,向hr催二面就行了</p><a>#字节#</a><a>#实习#</a><a>#后端开发#</a><a>#面经#</a>
AI 推荐面试题
