校招 未知部门 / 后端开发 / 一面

[面试日期] 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 推荐面试题