Android菜鸡字节跳动秋招面筋,面试客户端岗位10天拿offer(已意向书)

Android菜鸡字节跳动秋招面筋,面试客户端岗位10天拿offer(已意向书)_第1张图片

引子

秋招过半,在网上上看了很多大佬的面经,也加了很多交流群,受到了很多朋友的提点,今天终于轮到我来分享面经啦,面试了几家大厂,最后拿到了字节跳动客户端的 offer,总结一下自己的面经和复习历程,顺便谈谈我的一些感受,给各位朋友提供一些参考。

先说一下我的情况吧,现在就读杭州电子科技大学,本科山东农业大学,本硕都是计算机。***老区山东临沂人,平常喜欢拍照、旅游、看电影和基友一起打游戏。

我对字节跳动的一些看法

首先是因为公司,周围有很多人也都在用字节的拳头产品,像抖音、今日头条、火山。字节的增速有目共睹,高速增长其实对我们求职者是一个重大利好,它就意味着更多的机遇。字节作为一家年轻的公司,还有无限可能。

其次是我对客户端这个岗位一直就很感兴趣,平时也有自己写过 APP。空闲时间我比较喜欢看一些科技数码评测,听他们聊聊用户体验,科技肥宅。能让自己参与的程序在直接交付到用户手中,成就感爆棚。

还有也是机缘巧合吧,在我准备投递的时候,舍友帮我找了内推,递上了简历。

Android菜鸡字节跳动秋招面筋,面试客户端岗位10天拿offer(已意向书)_第2张图片

字节的效率还是很高的,从约面试到最后一次面试,一周结束战斗。据舍友说有时候一下午就可以结束战斗。

头条(一面 1小时)

面试官一直在摆弄自己超长的浓密头发,可能是变相施压吧在。。

Android菜鸡字节跳动秋招面筋,面试客户端岗位10天拿offer(已意向书)_第3张图片Android菜鸡字节跳动秋招面筋,面试客户端岗位10天拿offer(已意向书)_第4张图片

 

  • http1.1和2.0区别
  • 序列化,Serializable和parceble区别,分别什么时候用
  • tcp三次握手
  • 内存泄露
  • 双亲委派机制
  • 快排
  • threadlocal了解吗
  • handle你怎么理解的(扯源码),post方法是怎么工作的(封装Runnable)
  • okhttp讲讲
  • 事件处理机制
  • Activity生命周期,给了几个场景问生命周期变化
  • Fragment生命周期
  • Service(具体是啥记得不太清了,都学学没坏处)
  • GC回收机制
  • HashTable理解,初始带大小,扩容机制,HashMap
  • 还有哪些安全的map
  • sychronized用过吗,sychronized可以相互嵌套吗
  • violatile用过吗
  • 算法:之字形输出二叉树(秒了)

20分钟后 头条(二面 1小时)

  • 接口和抽象类区别
  • 设计模式六大原则
  • handle内存泄露
  • 进程调度策略
  • 如何保证微信发送消息可以传达到,跳出TCP思维想想(结果还是抄了TCP思想)
  • 由于网络原因信息发送速度不一,如何使接收端可以确认信息的正确顺序
  • 如果让你管理APP中的线程你会怎么做(我也没太懂。。就说了线程池之类的)
  • okhttp线程池怎么实现的
  • 事件处理机制
  • 如果添加onClick事件怎么处理事件
  • 如何下载一个特别大的图片
  • 如何加载一个特别大的图片
  • 如何在关闭程序之后很快加载特别大的图片
  • Exception和Error区别以及Exception两种类型
  • 算法:求最长递增子序列(原本以为是不连续的讲了半天。。面试官说是连续的,O(n)秒了)

半小时后hr打电话约三面

头条(三面 40分钟)

面试官:那我就看看你安卓了解到什么程度吧。。(我只是自学了几个月的程度)

  • 布局了解过哪些
  • 广播讲讲,系统广播有哪些
  • MVP和MVVM讲一下
  • 用过哪些隐式intent
  • Fragment生命周期
  • touchEvent和touchListner
  • targetSDKVersion,minSDKVersion,compileSDKVersion(得知我没注意过,面试官发出了肆无忌惮的笑声。。对不起这些不会是真的会被嘲笑)
  • SQLite用过吗,sharedpreference用过吗,多进程使用sharedpreference
  • 聊项目
  • 平时有什么爱好
  • 安卓看了哪些书

当天晚上收到offer call。没有HR面你没看错

滴滴(一面挂 30多分钟)

  • 说一下项目
  • 多线程了解吗?Lock是接口,那它有哪些方法,有什么特性
  • GC机制,有哪些GC Roots
  • Activity启动模式
  • 线程池问了好多
  • okhttp
  • JAVA问了好多,抱歉记得不清了

B站(一面 40分钟) 8.15

  • acm里都准备了哪些算法
  • Activity生命周期
  • HashTable,HashMap
  • handle原理
  • TCP建立连接断开连接过程
  • 算法:单向链表反转,求二叉树深度

第二天下午电话通知

B站(二面 20分钟)

  • 项目介绍
  • 给200条弹幕,如何快速排重,除了map还有什么方法
  • JAVA和C多态的实现
  • okhttp进行了哪些封装
  • 了解过前端吗
  • vue和react区别
  • 期望在什么样的公司工作
  • 未来规划

没了。。。历史最快一次。。

晚上打电话约HR微信面试

B站HR面(30分钟)

  • 介绍家庭情况
  • 大学做过哪些实习(兼职)
  • 做家教时候遇到有些笨笨的孩子时候怎么教的
  • 为什么想来B站,为什么不去阿里腾讯这些大厂(对自己好一点,不要祸害身体)
  • 你对二次元的定义是什么
  • 有什么相对B站提的建议嘛(大会员太贵了。。注册题目太多了。。)
  • 通过三轮面试你对B站有什么感觉
  • 你这么佛系如果遇到BUG要加班怎么办
  • 对自己面试的评分(1-10)

腾讯(一面 30分钟)

  • 算法:大数相乘,让敲,十分钟后回来(成功敲成了大数相加,真的蠢。。)
  • JAVA内存管理
  • 动态规划思想
  • 内核态和用户态区别
  • 多线程使用时需要注意哪些

网易有道(一面 40分钟)

最尴尬的一次。。感觉跟面试官思路不在一条线上,,理解不了问题。哭了

Android菜鸡字节跳动秋招面筋,面试客户端岗位10天拿offer(已意向书)_第5张图片

  • 整数反转,复杂度多少(O(n)),你这个n怎么确定是多少,n最坏情况是多少
  • 整数是多少位,最大是多少
  • 泛型
  • 类加载机制
  • okhttp看过源码吗
  • 数据库加密
  • handle讲一下源码,怎么确定handle在哪个线程中(通过绑定线程中的Looper),那怎么确定Looper在哪个线程中(应该是threadlocal。。这个没看过源码没答出来)

有些没写的是因为重复,有些是因为想不起来,有些是因为没用过所以印象不深(当然也没答出来)

面试前的准备

基础的准备,三四月份在家断断续续准备了一些,不过在家嘛大家懂的。回到学校后,大概六月底七月初的样子,忙完小论文的事情就赶紧开始了。 按照 GitHub 上 CS-Note 查漏补缺。

算法这方面,做做剑指 Offer,每晚刷一道 leetcode 上的题,平时看面经或者和舍友交流的时候遇到的问题也会去刷一下。

建议

在我最近面试过程中,字节给我的体验应该算是最棒的,不死板。问题的设计上,会根据自己的前面回答的情况由浅到深,由简到难,包括自己项目的一些优化,给出一些合理的建议;在思维卡壳的时候,面试官也都会给予一定的引导。一些确实没有遇到过的问题,面试官也都会做出一些解答。

面试的时候,尽可能将自己知道的全部表达出来,被问的问题看起来虽然不多,但是每个问题建议都尽可能面面俱到。比如链表确认是否有环,写过之后可以再修改一下,写一版环入口节点在哪以及这样写的推导;谈到 HTTPS,可以先讲一下 HTTP 和 HTTPS、HTTP 各个版本区别、HTTPS 的过程(这里面又会有 SSL、对称加密和非对称加密)、HTTP怎么传输大文件,顺便讲了一下自己申请域名的经历。

最后也是大家最关心的问题,没必要担心客户端没有经验,字节给我的感觉是计算机基础和学习能力比经验更重要

学习资源

最后我在这里分享一下这段时间从朋友,大佬那里收集到的一些2019-2020BAT 面试真题解析,里面内容很多也很系统,包含了很多内容:Android 基础、Java 基础、Android 源码相关分析、常见的一些原理性问题等等,可以很好地帮助我们深刻理解Android相关知识点的原理以及面试相关知识

这份资料把大厂面试中常被问到的技术点整理成了PDF,包知识脉络 + 诸多细节;还有 高级架构技术进阶脑图 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

这里也分享给广大面试同胞们,希望每位程序猿们都能面试成功~

【Android超硬核面试资料】

希望大家在今年的金九银十里能够发挥顺利,offer多多,进到自己想进的公司,共勉!

你可能感兴趣的:(面试,Android,程序员,Android,Android开发,面试经历,秋招,字节跳动)