UtopiaXC Blog - 实习
type: channel
link: https://blog.utopiaxc.com/tag/%E5%AE%9E%E4%B9%A0/
items: 记一次失败的面经（2021.3.23 字节跳动 全栈实习生-轻服务 一面挂）

记一次失败的面经（2021.3.23 字节跳动 全栈实习生-轻服务 一面挂）
type: item
date: 2021-03-24T11:05:00+08:00
description: 记一次失败的面经（2021.3.23 字节跳动 全栈实习生-轻服务 一面挂）背景大三，计算机科学与技术专业。本次面试是我在决定直接在国内就业后第一次找实习的面试。 简历投在了实习僧，本来投的是后端开发，但是邮件发来却显示是全栈，联系了HR说是可能业务部看了我的简历认为我更适合做全栈开发于是发了全栈的面试邀请。 在收到邮件之前对面试流程基本没什么了解，我是从收到邮件的那一刻才开始查资料准备的面试。查了很多别人的面经和一些技巧，发现我有非常多的东西还存在缺陷，因此在这记录一下，为以后的求职做准备。面试过程一、自我介绍一般面试上来都会让做自我介绍，我这里有点紧张，不是很自信，说了很多没用的东西，有点结巴，感觉不是很舒服。二、项目介绍简历上有一些我关于全栈开发的项目经历，于是让我先介绍了一下我的项目，问了项目的开发流程等，主要是问了关于项目中有没有遇到什么困难，怎么解决的。这块说实话我也不是很懂怎么表达，就随便讲了讲。三、前端部分前端这块首先问了我对于前端的了解，问我都会一些什么前端技术，我就是把我会的一些说了：HTML，JavaScript，CSS，JQuery，Vue之类的，然后提到了我的CSS学的很烂，基本都是用的开源库。然后问了我对那种语言比较熟悉，可能是希望我用js来做下面的题，但是我还是选择了Java，讲了一下我对语言和开发之间关系的理解然后是出了两道简单的数据结构的题目，一个是计算树的深度，一个是反转二叉树。这块确实将近两年前学的，已经忘得差不多了，就磨磨唧唧写了半天，还错了几个地方。之后是问了我对cookie的了解，简述一下cookie的原理，cookie的作用，cookie的域，session保存的实现在问完cookie之后，问了我如何在ajax请求中带上cookie做跨域请求，这块完全没接触过，蒙了几句四、后端部分后端这主要是问了我怎么处理高并发。我知道这个是后端的经典题，但是确实没什么准备，我自己的网站基本也遇不到高并发，所以就比较懵。我先说了使用CDN，然后问了我CDN的概念，作用以及实现方法，个人感觉回答没什么问题但是不够全面也不够准确，好几次都不小心说成了BGP边界网关协议然后是使用队列，这个我完全就是只知道有队列但是完全不知道怎么用，所以基本问的都不懂。最坑的是我说了个负载均衡，还是一样，只知道怎么用不知道原理，讲了半天也没讲出来啥有用的，基本就凉凉我估计面试官看我什么也说不出来，就基本不在问后端的东西了五、数据库数据库这块也是问了我一个我从来没用过的东西，索引。就只是单纯知道索引这回事，但是以前从来没实际使用过，所以就导致完全不知道怎么回答，先是问了我索引是什么，然后是怎么实现的索引，什么数据类型适合做索引还是有索引的时间复杂度。这块索引的概念基本说出来也但是颠三倒四，一会说树结构索引一会说哈希表索引，然后什么类型的数据这块我确实是不知道，给了很多提示但是我从来没接触过，没办法，都已经提示到了整型顺序排列的数据适不适合和布尔型适不适合，但是还是没答出来。然后时间复杂度这块我回答了好几遍O(1)，就一直是按照哈希表来说的，结果问的是树。其实到这基本就没啥指望了，后端后端不行索引索引不会，但是还是问了我个基础的问题，数据库事务。很不幸，我就记得个事务原子性，说了半天也不知道说的是啥。六、提问然后是问我有什么疑问没有。到这其实我已经完全不知道说啥了，就问了问字节跳动的企业文化和需要什么样的工程师，问了问我以后应该怎么学习往哪个方向发展，说了很多但是基本就是说我的基础能力需要提升，要学得扎实一点云云。总结就是一句话，还是学的太少。也没什么好说的，只能提升自身能力。做了一份大纲，之后按照大纲来补充。先做了数据结构、算法和网络工程的大纲，关于前后端数据库和安卓的部分之后再发上来。数据结构一、线性表1、元素移动2、元素查找二、栈和队列1、栈的实现①顺序栈②链栈2、队列的实现①顺序队列②循环队列③链队列④双端队列3、两个栈实现一个队列4、两个队列实现一个栈5、出栈顺序判断6、一个数组实现两个栈三、字符串、多维数组、矩阵1、串的存储结构2、主串与子串3、模式匹配（见算法）4、数组的存储结构5、数组的寻址6、特殊（稠密）矩阵的压缩①对称矩阵②三角矩阵③对角矩阵7、稀疏矩阵的压缩①三元组顺序表②十字链表8、稀疏矩阵的转置①直接存、顺序取②顺序取、直接存 9、广义表四、树与二叉树1、节点的度，根节点，叶子节点，孩子节点，双亲结点，兄弟节点，祖先，子孙2、树的深度3、树的表示①双亲表示法②孩子表示法③孩子兄弟表示法3、二叉树①子树、斜树、满二叉树②二叉树的遍历a、前序遍历b、中序遍历c、后序遍历d、层序遍历③存储结构a、二叉顺序表b、二叉链表④反转二叉树4、树、森林、二叉树5、最优二叉树①哈夫曼算法②哈夫曼编码6、线索链表7、堆…