字节跳动客户端面经(已Offer)

内推链接

https://www.nowcoder.com/discuss/850234

标题就不改了,就在这篇里简要总结一下自己的面试经历吧,真的很简要。

本人211软件工程专业,大三在读,非大佬,所以底下的资料比较适合非大佬型选手想通过较短时间的学习提升自己获得offer。非大佬选手就是那种跟我一样,哈哈在刚开始面试时一问三不知的同学。

个人的方向是Android或JAVA开发工程师,如果各位方向不同的话以下的参考资料部分会失去参考价值,可以总结一下其中适用自己的学习方法。

声明:只是自己的一点总结与建议,不适合所有人哦

先列学习资料:

JAVA:https://juejin.im/post/5d393235f265da1bce3e14d7#heading-5
      https://github.com/CyC2018/CS-Notes
Android:《Android Studio开发实战 从零基础到App上线》
          对应github项目网址:https://github.com/aqi00/android2
计网/OS/数据结构:https://github.com/CyC2018/CS-Notes
                 中国大学MOOC:计网-北交大+哈工大    OS-西安交大    数据结构-浙大
                 自己学校课程ppt
数据库:《Database System Implementation 2nd Edition》- Stanford大佬写的那本
        https://github.com/CyC2018/CS-Notes
算法:Leetcode
面试经验:https://www.nowcoder.com/

经历中的一些总结:

自己的感觉是,各公司其实对于本科生的考察大多都注重基础,上面的资料也是基础相关的,当然有比较大型项目经验的同学更好(我没有),以上的资料边上网课边学大概用了一个月的时间。
比较注重的点:
JAVA底层,掘金网那个资料总共读了两遍,第一遍略读,第二遍把其中列出的源码认真理解。(语言学自己兴趣方向就好,C++,Python等等。)
计网/OS/数据结构/数据库方面,真的安利cyc的仓库,一定要仔仔细细一点一点读完相关部分!另外MOOC对形成自己的知识体系有很大帮助。知识体系真的很重要,比如问为什么计算机网络要分这么多层,每一层存在的意义是什么等等,一层层深入,像一棵树一样一点点发散,有了这个别人的知识就是自己的了。
这两方面自己非常注意记笔记,写下来自己不熟悉的点非常有助于理解。
数据库我是自学,所以MySQL/Redis这些用的少,底层了解的比较多,这个东西看岗位要求了。
算法方面,我在leetcode刷了大概150道题,可能运气比较好,够用了。
对于刷过的题注意总结,最好按部分刷题,比如先动态规划再树相关等等。
安卓我是突击的,基础不好,目前还在学习中,没有什么建设性的建议哈哈。不过我最近的学习资料可以分享一下:

kotlin+Android:
《第一行代码 第三版》
https://wangjiegulu.gitbooks.io/kotlin-for-android-developers-zh/content
kotlin 文档:
https://www.kotlincn.net/docs/reference/android-overview.html
自己的学习仓库:https://github.com/PJYGit/Kotlin4Android

总结一下就是三个过程:确定方向->知识储备->面试经验->入职前。
上面自己的经历可能不适合所有人,但个人觉得知识储备过程重在学习方法吧,内容是次要的。还有就是一定要够努力够坚持,既然非大佬,又不是天才,就要付出更多嘛。
有了知识储备后,知道企业面试官怎么问也是非常重要地一环,这决定了自己的知识储备和能力能否得到人家的认可,这方面多看看面经,模拟面试几次就好。
为什么要提到入职前阶段呢?因为以上多多少少有点“面向面试学习”的感觉了,在入职前应该搞懂自己将来要做什么,在这方面早做准备,不然入职后有苦头吃了,而且“面向面试学习”提升自己的“假象”可能会导致被辞退等严重后果
[/狗头]

先写到这里。。。
下面列一下自己字节跳动抖音客户端的面试经历,其他的公司要么挂了,要么最后婉拒了,就不写了。

一面 05.06 - 17:30

大概45min,一面大概注重语言基础(JAVA)多一些,当然其中掺杂着计网和OS的知识。

  1. 接口和抽象类
  2. 成员变量和方法的区别
  3. 内部类
  4. 基本数据类型,拆箱装箱
  5. java的同步和并发
  6. HashMap的底层实现和扩容机制等
  7. GC垃圾回收机制
  8. java编译后的字节码文件结构是怎样的?嗯?????
  9. 算法:每k个反转链表,leetcode原题。

关于计网和OS的放到下次一起总结吧。

二面 05.06 - 18:30

一二面是连着的,二面大概1h,二面的面试官非常注重计网和OS方面的知识,而且问法一般都是“为什么”相关,这很需要有自己的思考,最好是形成自己的知识体系。这一面答得很不好。

  1. 计算机组成原理。。。我简历上写的但压根没复习,所以gg,只记得一个问题是CPU如何与内存协调。
  2. 计网
    a. 五层结构有哪几层?哪一层实现最麻烦?
    b. TCP是干什么的,为什么有了TCP还需要IP等协议?TCP可靠传输如何实现?三次握手?为什么三次?
    c. DNS解析的过程,为什么目的是获得IP还要用URL,直接用IP不好吗?根服务器在哪里?
    d. HTTP和HTTPS,HTTPS如何加密?
  3. OS
    a. 磁盘空闲空间管理
  4. 数据库---因为我是自学的,只知道一些底层,所以面试官没问MySQL等相关的。
    a. 数据库索引是什么?为什么选择B+树?
  5. 算法:给一个整数数组,找右边元素减左边元素的最大差值,很像leetcode的股票问题II。
    旋转数组,leetcode原题,后来改成了旋转整型。

三面 05.14 - 18:00

二面答得很不好,以为凉了,但官网一直没更新状态,忍了将近一周,问了HR,没想到过了,HR说是早些时候就过了,因为两个部门协调出了一点问题,推到了今天,面试大概1h。

这个面试官是抖音的leader,人超级好,长得还很像我一同学,问问题都会引导你。

  1. 面试官先是问了有关Linux的和对Android的了解,但我这些都停留在表面,后来就直接进入代码环节。
  2. 代码环节:这个也不是纯算法题,就是面试官现场出题。
    a. 线程内部修改外部变量,外部变量用static和volatile修饰时情况是怎样的。去除这些关键字,如何实现变量一经修改,外部打印语句便可以马上打印新的值。(我用的wait和notify但写的不咋地,好久没用了,面试官引导了一会写了出来,但不完美就跳过去了。)
    b. 算法题:二进制反转,leetcode原题,在此之前先写了如何取二进制最后一位(用>> 和 &)。
    c. 实现一个二叉树的前序遍历的Iterator,要用泛型。我想了一会思路不成熟,面试官提示我先写一个非递归前序遍历然后拆分成hasNext()和next(),后来搞出来了。
  3. 职业规划(说我是大三,以后怎么打算)。

反问环节我都省略掉了,有些问题也记不太清了,有时间会再写一个总的面试总结的。

呜呜呜求一个HR面和Offer!!!!!!求了!!!


05.15 - 20:00 刚刚收到HR面的消息了,周一成败在此一举!!!!加油!


05.18 - 18:30 HR面试,大概聊了20多分钟

主要是问了一下自己的个人经历,如何解决遇到的问题的,自己的职业规划和方向是如何的,对入职的担忧有哪些,为什么会有这些想法,自己制定的目标又是如何去付出努力的。

最后HR说要跟面试官商量一下有没有合适的职位,一周内出结果,呜呜呜,千万不要刷掉我呀!

自己春招的面试流程到这也就基本上接近尾声了。

许愿Offer!!也祝大家一切顺利!


HR面后三天了还没有消息,慌慌的。。


05.22 - 11:50 接到OC,正在协商入职时间。


05.22 - 14:30 收到Offer啦!祝大家一切顺利!!

#字节跳动面试##字节跳动##校招##社招##内推##实习#
全部评论
支持一波 Pzi😎
1 回复 分享
发布于 2020-06-20 15:55
小红书内推 https://www.nowcoder.com/discuss/516278142089048064?sourceSSR=users
1 回复 分享
发布于 2023-08-04 16:29 上海
楼主你这三面的题目和我的好像啊,面的是抖音的啥部门呢?
点赞 回复 分享
发布于 2020-06-28 12:31
感谢分享,学习了
点赞 回复 分享
发布于 2020-06-27 08:07
楼主太棒了!!感谢分享!!
点赞 回复 分享
发布于 2020-06-26 23:40
开发新手求问cyc的仓库是啥?
点赞 回复 分享
发布于 2020-06-26 23:08
校友啊 是哪个学院的
点赞 回复 分享
发布于 2020-06-23 19:50
我也今天刚结束三面
点赞 回复 分享
发布于 2020-05-14 23:52
楼主你好,请问你是实习、校招还是社招?岗位是什么?开发的话,是Java方向还是C++方向?或者其他语言方向
点赞 回复 分享
发布于 2020-05-14 21:36

相关推荐

06-13 17:33
门头沟学院 Java
顺序不记了,大致顺序是这样的,有的相同知识点写分开了1.基本数据类型2.基本数据类型和包装类型的区别3.==和equals区别4.ArrayList与LinkedList区别5.hashmap底层原理,put操作时会发生什么6.说出几种树型数据结构7.B树和B+树区别8.jvm加载类机制9.线程池核心参数10.创建线程池的几种方式11.callable与runnable区别12.线程池怎么回收线程13.redis三剑客14.布隆过滤器原理,不要背八股,说说真正使用时遇到了问题没有(我说没有,不知道该怎么回答了)15.堆的内存结构16.自己在写项目时有没有遇见过oom,如何处理,不要背八股,根据真实经验,我说不会17.redis死锁怎么办,watchdog机制如何发现是否锁过期18.如何避免redis红锁19.一个表性别与年龄如何加索引20.自己的项目的QPS怎么测的,有没有真正遇到大数量表21.说一说泛型22.springboot自动装配原理23.springmvc与springboot区别24.aop使用过嘛?动态代理与静态代理区别25.spring循环依赖怎么解决26.你说用过es,es如何分片,怎么存的数据,1000万条数据怎么写入库中27.你说用limit,那么在数据量大之后,如何优化28.rabbitmq如何批次发送,批量读取,答了延迟队列和线程池,都不对29.计网知不知道smtp协议,不知道写了对不对,完全听懵了30.springcloud知道嘛?只是了解反问1.做什么的?短信服务,信息量能到千万级2.对我的建议,基础不错,但是不要只背八股,多去实际开发中理解。面试官人不错,虽然没露脸,但是中间会引导我回答问题,不会的也只是说对我要求没那么高。面完问我在济宁生活有没有困难,最快什么时候到,让人事给我聊薪资了。下午人事打电话,问我27届的会不会跑路,还在想办法如何使我不跑路,不想扣我薪资等。之后我再联系吧,还挺想去的😭,我真不跑路哥😢附一张河科大幽默大专图,科大就是大专罢了
查看30道真题和解析
点赞 评论 收藏
分享
06-13 17:00
武汉大学 Java
6月了还有点击就送的offer吗😭,投麻了😢
叫我阿东就行:这个bg,也还没找到理想的工作吗?好难,好焦虑
点赞 评论 收藏
分享
评论
10
112
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务