引子
其实一开始我考虑的是阿里的,因为那里有认识的人,希望通过内推可以顺利进入大厂,但是却被面试官一连串问题,完虐!这时候秋招已经过半,后来在牛客上看了很多牛友面经,也加了很多交流群,受到了很多朋友的提点,今天终于轮到我还愿啦,拿到了北京教育业务客户端的 offer,总结一下自己的面经和复习历程,顺便谈谈我的一些感受,给各位牛友提供一些参考。
先说一下我的情况吧,现在就读杭州电子科技大学,本科山东农业大学,本硕都是计算机。老区山东临沂人,平常喜欢拍照、旅游、看电影和基友一起打游戏。
我对字节跳动的一些看法
首先是因为公司,周围有很多人也都在用字节的拳头产品,像抖音、今日头条、火山。字节的增速有目共睹,高速增长其实对我们求职者是一个重大利好,它就意味着更多的机遇。字节作为一家年轻的公司,还有无限可能。
其次是我对客户端这个岗位一直就很感兴趣,平时也有自己写过 APP。空闲时间我比较喜欢看一些科技数码评测,听他们聊聊用户体验,科技肥宅。能让自己参与的程序在直接交付到用户手中,成就感爆棚。
还有也是机缘巧合吧,在我准备投递的时候,舍友帮我找了内推,递上了简历。
时间线和面经
字节的效率还是很高的,从约面试到最后一次面试,一周结束战斗。据舍友说有时候一下午就可以结束战斗。
2020-08-09 一面
- 自我介绍
- 手撕代码题
- 链表是否有环
- 树左视图
- 项目相关问题
- 安卓了解哪一些
- LinkedHashMap 和 HashMap 原理和区别
- ConcurrentHashMap
- GCRoot 用来干什么、都是什么
- 线程和进程区别,怎么调度的
- HTTPS 了解多少
- TCP 和 UDP
- 它们的一些应用场景
- 博客域名怎么弄得
- CA 证书
- 非对称加密原理
- 有没有尝试自己写一个证书
- 设计模式用过哪些,介绍一下
- 单例模式写一个
- 观察者模式介绍一下
- 深复制浅复制(基本类型和引用类型)
- 反问 + 闲聊(略)
2020-08-12 二面
- 手撕代码题
- 生产者消费者
- 单例模式
- 雨水槽最大接水量
- 一题easy题
- 项目做了什么,还能不能优化
- wait 和 sleep
- 锁分类
- CAS
- synchronized
- reentrantlock
- cookie和session
- 线程进程区别
- 操作系统的分段分页
- 页面置换算法
- 进程调度算法
- OSI 组合拳
- 观察者模式
- 工厂模式
- 深扣了一下单例模式
- 反问(略)
2020-08-14 三面
- 自我介绍
- 手撕代码
1.手写链表逆序/删除/构造
2.两个栈实现队列(优化) - 设计模式老三样
- 项目使用的 API,还有一些细节
- 查找算法有哪些,复杂度
- HTTP和HTTPS
- 泛型擦除
- 泛型方法有没有用过
- 常用容器介绍
- Java 异常体系
- 你遇到的 OOM 是什么
- IOException
- 本科怎么学的 Java
- 遇到问题怎么解决
- 在实验室都干什么
- 反问(略)
2020-08-19 HR
说到这段,还是挺有意思的,面试过后去问 HR 小姐姐说结果没有这么快,最快也要下周一二。等到了下周三也没有收到感谢信,于是我去找 HR 希望能结束流程找别的部门捞一下。小姐姐让我别急,帮我催一下,会有另一个 HR 小姐姐联系我。过了一会,HR 联系我告诉我已经通过审批,要了身份证号下发了意向书。
准备
基础的准备,三四月份在家断断续续准备了一些,不过在家嘛大家懂的。回到学校后,大概六月底七月初的样子,忙完小论文的事情就赶紧开始了。 按照 【Github】上 查漏补缺。
算法这方面,做做剑指 Offer,每晚刷一道 leetcode 上的题,平时看面经或者和舍友交流的时候遇到的问题也会去刷一下。
<算法刷题LeetCode>
<剑指offer>
电子版已经整理,文档领取方式:点赞+关注,私信我【666】或者查看我的【Github】即可获得免费资料!
建议
在我最近面试过程中,字节给我的体验应该算是最棒的,不死板。问题的设计上,会根据自己的前面回答的情况由浅到深,由简到难,包括自己项目的一些优化,给出一些合理的建议;在思维卡壳的时候,面试官也都会给予一定的引导。一些确实没有遇到过的问题,面试官也都会做出一些解答。
面试的时候,尽可能将自己知道的全部表达出来,被问的问题看起来虽然不多,但是每个问题建议都尽可能面面俱到。比如链表确认是否有环,写过之后可以再修改一下,写一版环入口节点在哪以及这样写的推导;谈到 HTTPS,可以先讲一下 HTTP 和 HTTPS、HTTP 各个版本区别、HTTPS 的过程(这里面又会有 SSL、对称加密和非对称加密)、HTTP怎么传输大文件,顺便讲了一下自己申请域名的经历。
必学基础筑基知识
微信小程序
第一点,不管小程序能不能在未来的时间里在移动端大放异彩,学习它,掌握它,都是没有任何坏处的。
第二点,在性能与便捷之间,最终往往会是便捷取胜。
第三点,能用 js 开发的,最终都会用 js 开发。
设计思想解读开源框架
现在去很多公司面试,除了你具备基本的能够写一个高性能app的能力后,一般都会在自己的app里面加一些现有的相对较666的技术,这些技术我们称之为开源框架。比如,我们以前木匠做一个桌子,我们需要把木头削成木板,然后把木板拼成桌面,然后再去用同样的方式做桌子的腿;现在,我们只需要买做好的桌子板和做好的桌子腿,然后我们就可以用他们拼接就可以自己做一个桌子了。所以,现在开放代码已经不再需要你去锯木头了,你只需要拿着一个SDK就可以实现一个功能了,那么这个就是我们的开源技术。
由于文章篇幅问题复制链接查看详细文章以及获取学习笔记可以查看我的【Github】里可以查看
最后也是大家最关心的问题,没必要担心客户端没有经验,字节给我的感觉是计算机基础和学习能力比经验更重要。
最后,祝秋招的我们心想事成、offer多多!
网友评论