首页 > 字节跳动上海创新业务客户端面经
头像
孤独の患者
编辑于 2020-06-22 12:04
+ 关注

字节跳动上海创新业务客户端面经

写在前面:

目前字节跳动上海创新业务提前批已经开始 !
校招流程:
- 提前批简历投递:6月16日-7月16日;
- 正式批简历投递:8月3日-10月31日;
- 招聘流程:简历投递→简历评估→集中笔试(如有)→3轮技术面试→offer发放。
- 笔面试:不设置公司层面集中笔试和面试,各部门根据情况组织安排。
提前批优势:
- 面试成功,提前锁定 offer !面试失败,不影响秋招,最差也是白赚一次面试经验
- 提前批没有笔试,简历评估通过直接进入面试流程,支持全程视频面试
- 提前批参与人数少,竞争更小,更容易拿到 offer
- 部门直推,更快的简历处理速度,实时跟进面试进度,随时可以了解状况
- 无需岗位相关经验,主要看重基础和综合素质

字节跳动内推码: QAZYNM5 (可帮查进度)

联系方式:QQ 2707388038
投递链接: https://job.bytedance.com/campus/position?keywords=%E6%95%99%E8%82%B2%E4%B8%9A%E5%8A%A1&category=&location=CT_52%2CCT_125&project=&type=2&job_hot_flag=&current=1&limit=10
FAQ: https://docs.qq.com/doc/DWnptRk5SU3d6V2NC

我的面经

我是今年三月的时候投了字节,当时因为选择每个面试之间隔一周,加上有一周面试官有事,从投简历到拿到实习意向书长达一个半月,期间还是比较煎熬的(尤其是三面结束等结果的那一个多星期),推荐有时间的同学尽量把面试周期缩短。
当时面试的时候我对安卓开发并没有什么了解,也并未准备这方面的知识,但最终还是顺利通过了,可见还是基础更加重要。

历:
  1. 写简历的时候我才意识到,虽然大学期间看似有不少的项目和比赛经历,但一来没有什么技术含量,大多是看重idea的项目;二来在其中我也多是快速学习完成的demo,写前端是毫无框架地边写边调,写后端是简单的增删改查。写进简历的时候,既不敢说自己精通xx,也说不出这个项目的难度所在。
  2. 面试的时候也印证了我的心虚,面试官没什么可以追问的技术细节,每次聊项目经历都是介绍一下就简单结束。
  3. 正面案例:按照同学的经验来看,可以准备一些“轮子”项目,后端的可以跟网络什么的相关,前端可以拿一个封装和架构都比较好看的项目秀一秀(比如我组同学拿的未完成的软工三大作业)。
  4. 当时字节客户端岗位称对客户端的技能要求不高,主要看基础知识和代码能力,于是我大胆地投了。大概一两天后就接到了邀面电话。

试经过:

  1. 基本的面试过程就是先自我介绍,自我介绍中可以简要介绍一下自己然后就选一个最有把握最有吸引力的项目来讲,段位高的话可以留一些话口让面试官有提问的机会。然后问一些基础问题,然后写代码题,最后有反问面试官的机会。
  2. 当时字节采用牛客面试,切换tab面试官是能看到提示的,所以不要想着回答基础问题的时候可以打小抄hhh
  3. https://github.com/CyC2018/CS-Notes 我主要按照这个笔记复习基础知识和算法。

一面

  1. 一开始自我介绍,我把项目比较完整的说了一遍,也说了遇到的跨语言的问题。然后他追问了一下跨语言是如何实现的,我就再说了一边gRPC的作用。
  2. 然后因为说到打包的时候爆内存用懒加载,他问我静态链接和动态链接。
  3. 然后问内存。说有几种内存,我不太理解,他提示虚拟内存。我就说了物理内存和虚拟内存、分页分段,他追问那进程是不是不可以自主分配空间
  4. 内存碎片。我回答的是操作系统级的。
  5. 然后说到JVM,说比如堆里面的东西要清理吗我就说会用gc清理。
  6. 然后又跳出去说网络。问分成哪几层、分别是什么。
  7. 然后他问从地址栏输入一个网址之后的整个过程。
  8. 路由器的作用。
  9. 然后说到数据库,问我索引。我说自己数据库还没怎么学,能不能给一些思路。于是他就描述了一下数据库查询很慢的问题,问我觉得有什么方法来解决。
  10. 让我讲讲面向对象、可扩展性、可维护性。
  11. 然后他说那跳到安卓?我说我其实不太会哦,他问了一个页面切换的时候的生命周期,我果然不会,他表示了理解。(因为当时这个岗暑习不要求有客户端基础)
  12. 然后又跳回去,问了一个类加载的问题。
  13. 然后他问我有没用过hashmap,我把记得的所有的东西(比如hashmap线程不安全,concurrenthashmap是分段锁)都讲了。问我hashmap的实现。
  14. 然后就做题了,要把一个二叉树的某一深度的一层从左到右放进一个链表,大概给了15分钟的时间。
  15. 然后他说这题用递归也可以写,我说是的,但感觉复杂度都是一样的,但递归有个回溯的过程。
  16. 后就结束了让我问他问题,我问他的主要工作是什么。又问有没有可以给我的建议。end。

二面:

  1. 自我介绍。说完后问了我在其中的责任和任务,没再细问。
  2. 问我学了什么课。【这其中我说我只学了数据库基础,他就没问数据库
  3. 问DNS,要求讲具体的细节。
  4. 问HTTPS,问加密方式和具体的完整的过程
  5. 问JAVA泛型是什么,具体的底层实现方式
  6. 问JAVA内部类有几种实现方式。
  7. 代码题:访问单向链表的倒数第k个节点。
  8. 反问环节我问建议,他说到我java不太熟悉。
  9. 二面体验其实不太好,面完我感觉要挂了,面试官抛出的问题几乎都要问到我不会为止,当时感觉压力很大。

三面

  1. 三面应该是Leader面,感觉比较和蔼。他把我之前答的不太好的题都拿出来又问了一遍,也问了几个额外的问题,以及一些设计模式方面的问题,从设计模式引到了单例模式,要求写线程安全的单例模式代码。
  2. 还问了一些体现软性技能的问题,比如问我在当小组长的时候是如何组织分工合作的。问我为什么投客户端;安卓和iOS选哪个,为什么。
  3. 整个过程比较轻松愉快。

现在

刚入职一周。感受是字节跳动各方面的员工福利都很到位,早餐午餐下午茶晚餐顿顿不落下,还都有水果,硬件方面的电脑、键鼠、显示器什么的都完全不用操心。实习生有导师,系统为实习生开放的权限还是比较高的,可以学习到很多的技术和软技能。团队氛围和谐、技术大佬多,沟通直接有效。总结来说,在这里可以学习到很多。

最后再复读一遍:

全部评论

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

相关热帖

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

近期精华帖

热门推荐