首页 > 字节跳动提前批客户端,5面面经(已拿意向书)
头像
Mouyu
发布于 2020-08-07 19:13
+ 关注

字节跳动提前批客户端,5面面经(已拿意向书)

## 8月7日收到意向书前来还愿!

### 一面(1h)
1. 如何学习一门技术,最近看过的一篇博客内容
2. 编译型语言和解释型语言
3. 上过编译原理课吗?编译有哪些过程?(上过,一问三不知)
4. 面向对象语言的特点
5. URL输入到显示网页的过程
6. HTTP三次握手,四次挥手
7. 算法题:Leetcode 895.最大频率栈(困难)
实现 FreqStack,模拟类似栈的数据结构的操作的一个类。
FreqStack 有两个函数:
push(int x),将整数 x 推入栈中。
pop(),它移除并返回栈中出现最频繁的元素。
如果最频繁的元素不只一个,则移除并返回最接近栈顶的元素。

> 一面约的14号。编译原理那一块问题太尴尬了,都给忘光了,面向对象的特点也不太清楚,当时问Python要是不用类,能实现面向对象吗?我给懵了...然后算法题的话,第一眼看上就像LFU缓存机制的算法题,没有刷过,不过庆幸刷过LRU缓存机制的题(感谢牛客上那篇整理7月字节跳动各岗位算法题的帖子),于是用了哈希表+双向链表,在面试官的提示下做出来了,不然估计一面就得凉。当天晚上接到HR的电话,很高兴一面通过,约了16号的二面。

### 二面(45min)
1. 简历里的项目是前后端,为什么要报客户端?
2. 面向对象需要具备哪几个特性?
3. 讲讲多态。Python如何实现多态?
4. Python里的装饰器有什么用?
5. 线程和进程的区别?线程不安全会导致什么问题?会导致卡死吗?
6. C和Python的区别
7. HTTP是明文传输,有什么方法解决安全性。
8. HTTPS加密的过程
9. 算法题1:给定字符串,判断三种括号是否成对出现。
10. 算法题2: 遍历二叉树,将所有节点的数字做个轴对称变化,计算所有节点数字之和。(轴对称即反转数字)

> 二面刚面完。Python装饰器的作用没有答出来,然后线程安全问题没答出来,应该是会导致卡死的,线程跟进程一样也会因为死锁的!二面感觉两道算法题都比一面的简单很多,不过自己还是在第二题上的反转数字上卡壳了,害.....面试官评价我基础知识不太扎实,感觉是凉了。许愿今晚能继续接到HR的电话吧!哈哈运气好过了就继续更三面!

-----------
## 以下是更新:

> 二面果然被刷了~不过还好HR说我面试评价总体不错,被另一个部门捞起来了,所以接着冲吧!!

### 7月22日 第二次1面(45min)

1. 讲讲项目(这个没有准备,讲得很混乱..)
2. 类方法 静态方法 实例方法
3. Python元类metaclass
4. 输入URL到显示网页有哪些过程?
5. get和post的区别
6. http不安全,如何解决?(https)
7. https加密过程?
8. 虚拟内存
9. 算法题:给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。(两个链表就地逆置,然后逐位相加,注意处理进位和两个链表长度不同的问题,加完之后再逆置回来)

> 总体感觉还行,就是面试刚开始的时候出了几次小状况突然没画面了,不过面试官很耐心,切换线路之后正常了。一来就开始讲项目,没有想到1面就会问项目,所以没有提前准备,导致介绍项目的时候逻辑混乱想到什么说什么,也没有突出重点,下次得好好准备一下了。然后是讲完“类方法 静态方法 实例方法”后,面试官说可能Python和其他语言不太一样吧~瞬间感觉是自己答错了hh,后来的问题都蛮常规,也恰好准备到了,算法题也问题不大,不过面试官小哥看得比较仔细,还会问我哪一行的代码有什么作用,感觉和之前不太一样呢。最后反问环节,面试官建议我可以脱离Python,多了解一下面向对象编程的通用概念,我感觉确实是疏忽了,这种编程思想的东西就是不应该就具体语言来讲的,很有收获。

> 下午面完没多久就接到HR电话了!约了27号的第二次2面,因为这几天都约满了,看来16号截止投递期限投的同学不少呀。这次2面一定得加油了!(至少让我挺到3面吧求求了!



### 7月27日 第二次2面(40min)
1. 自我介绍+项目(项目介绍了一下ThreadPoolExecutor线程池)
2. 详细讲讲ThreadPoolExecutor线程池
3. HTTP和HTTPS
4. 对称加密和非对称加密
5. 数组和链表的优缺点
6. 设计一种数据结构:可以随机查找,而且插入、删除时效率高(懵逼...)
7. 栈和队列的区别
8. 如何用2个栈实现队列
9. 存储一个100x100的图片到文件中,并且可以还原,怎么做(先存尺寸,再顺序存每个像素点的值)
10. 如何压缩存储图片?(懵逼.....面试官提示可以有损存储,答:临近4个或9个像素点取平均值,再存储)
11. 如何实现无损压缩存储图片?(崩溃...统计同一像素点出现的频率,对高频点使用共享存储,瞎说的我晕了)
12. 除了Python还用过其他什么语言?(吐槽Python真不好找工作,答C和Java)
13. C和Python你觉得有什么区别?(C是编译型语言,Python是解释型语言,再说了下优缺点)
14. 算法题:A:[1,3,4,3,2,5],B:[3,2],求A-B。(求差集,A-B=[1,4,5],简单)
    思路:把B中的数存进哈希表,遍历A。

> 这次感觉前面的情景设计题实在是太灵活了,自己的思路也确实不太好。求个3面啊!!许愿许愿!

> 当天晚上HR微信告诉我2面过了,我的妈耶太高兴了!后来和3面面试官约了31号晚上9点的面试(面试官真是又忙又辛苦),加油吧!最后一面了!


### 7月31日 3面(1h10min)

1. 有没有做过企业级项目(无)
2. 做项目的过程中,有什么收获?
3. 有没有和同学合作过的项目?如何合作的?
4. 如何评价跟你合作的同学?对他有什么建议?
5. 你觉得自己擅长什么方面?(代码,人际交往)
6. 这两个方面,你更喜欢哪个?(代码,不然呢……)
7. 算法题:给两个字符串,实现36进制加法。0-9  a-z:10-35

>  建议这题大家动手写一下。我一开始思路有点问题,分了4种情况,导致代码很冗余,自己都看不下去了。后来幸好换了方法,才勉强写下去。最后要注意两个字符串长度不一样的情况,善后要做好,以及最高位的进位也要记得处理。这题应该不算难,但是自己估计写了40分钟,感谢面试官耐心等待!

> 写完算法题一度认为自己凉了,感谢HR小姐姐当天晚上微信上就告知我通过了!!目前就是等待意向书~



**总结:这次字节跳动提前批,算是自己找工作的首面,抱着试一试的态度投递了客户端的岗位,毕竟客户端接受零基础。面试主要就是考察数据结构,计算机网络,操作系统和算法题,还有自己常用编程语言的一些特性,以及面向对象的思想。大部分面试题都能在牛客网的面经上找到,(非常感谢牛客网!和各位分享面经的同学!)建议搜集整理好自己投递岗位的面经,然后认真准备就好了!自己一开始投递的部门(2面被刷),后来被另一个部门捞起来(感谢!),然后又经历了3面,这个过程其实还是有点折磨人心智的,不过最终能拿到offer,一切都值了!**

**所以,坚持不住的时候,记得再坚持一下!**

全部评论

(0) 回帖
加载中...
话题 回帖

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐