字节跳动Android工程师秋招面筋
从阿里实习回来后,投了字节跳动的秋招内推,因为一直听说头条的面试比较快,通过了就会有一下轮,所以想体验一下,投的是上海的研发岗位,下面是头条面试的面筋
2018/9/22 一面
自我介绍 介绍SS助手项目 介绍下Retrofit框架,retrofit为什么要包装okhttp呢? retrofit的常用配置有哪些? android的序列化对象的两种方式? 序列化对象用在什么方面?(没回答全) Android的handler的postdelayed原理?postdelayed设置定长时间等待,中间有又message来了怎么办? Android为什么要让主线程绘制UI呢? Android自定义view需要哪些步骤?要绘制一个正方形的view要怎么办? Android的viewgroup的onlayout函数做了什么?(忘记了) https的原理 http请求一定会到服务器上去吗?(http 304/ 有***的情况不会) 负载均衡讲下理解 远程写代码:用数组实现双头栈
2018/9/22 二面
自我介绍 tcp的三次握手和四次挥手 tcp挥手的time_wait状态的设计目的是什么?如果没有,会出现什么情况? tcp和udp的区别? udp上实现一个可靠的协议要怎么做? tcp的拥塞控制的作用是什么?为什么要实现拥塞控制? java 的hashmap和hashtable的区别? hashmap在多线程下会出现的问题? concurrenthashmap的原理?为什么效率高? android ipc 通信机制? localsocket在什么情况下用比较合适? 为什么android要设计binder java线程间同步有哪些? sync关键字和lock的区别? 公平锁和非公平锁的区别? voliate作用于 boolean,Boolean的区别? voliate int a++? 会被立刻看到吗? 远程写代码:一个数组有1个数字出现了一次,其他数字出现了三次,请问不用map的情况如何找到这个只出现了一次的数(不会) 远程写代码:二叉搜索树中第K小的元素 activity的onSavedInstace在什么调用? 一个process要被杀死,onSavedInstace会不会调用?(不知) activity的onNewIntent何时被调用? 你有什么问题要问的吗?
2018/9/22 三面
介绍下在淘宝实习期间做的项目 Gcavans的原理介绍下? Flutter的架构介绍下(这里没有回答好) activity A->B 的生命周期 binder 的架构模式 上述生命周期中,activity A 可不可以不调用onStop方法?(B是一个透明的Activity) Fragment.startActivityForResult vs Activity.startActivityForResult (不会) sharedPreference原理?commit和apply的原理?apply会导致ANR吗?(面试官说apply也会) sharedPreference 可以跨进程吗?(不知道) 远程写代码:删除一个整数数组中value为50的数字,并且返回最终的长度 位置无关性代码的优势? 虚拟内存的优势? 你有什么问题要问的吗?
2018/9/30 加面
自我介绍 flutter对比android 原生开发优劣 项目里面的难点 对新的框架怎么看 你的优点是什么? 场景设计题:类似微信聊天的页面 你有什么要问的吗?(问了下部门,貌似是抖音客户端的)
总结
头条的面试,问的还是还是有难度的,要求当场写代码并且运行,也是很考察面试者写代码的能力的。#字节跳动##Android##秋招##面经##内推##安卓工程师#