面经详情

准备不足,二面未过,待来日再战
由于距离问题,面试全部走的视频面试。这里需要提醒下大家,视频面试也需要写算法题,一定要先去适应下编程环境,不然会很奇怪。一面主要的问题比较的基础,好好准备一下都没问题。二面的问题还是基础居多,比较需要注意的是要多过往项目有深入的了解,基本都会问到,这个很重要。
Q:一面主要的问题是: 1. Handler、Looper的工作原理,然后会深入其实现原理。比如Loop为何不会阻塞,无消息阻塞为何不会卡顿。Looper如何被唤醒。 2. HashMap实现原理,hash冲突,红黑树时间复杂度,如何扩容。 3. 序列化和反序列化的方式,及其特点,实现原理。 4. 排序算法和其复杂度(无序数列,取其第k大的数) 二面的问题: 1. 界面有个button,点击时会有什么事情发生。深入事件分发的过程,包括cancel事件出现的时机和处理过程。 2. 二分查找法。 3. https的过程。 4. 网络优化。 5. 项目当中遇到的最困难的问题。1条回答

相关推荐

匿名用户
Android
未通过感觉没戏
一共面了四轮技术面啊  节后才知道有没有通过  问了下网上大部分说加面的场景比较糟糕  现在内心方的一逼  面试内容主要是根据我的简历开始提问啊 我大概总结下问题 1.你们项目使用了热修复 那么你有了解过热修复的原理吗 这个之前用的时候有研究过  所以基本踩点踩到了 具体可以看下百度 2.运行时删除项目的多余的资源文件 是否影响项目运行 提成成r文件内指向的数字是否影响可以参考下网上关于arsc的资料来回答这个问题 3.项目apk瘦身 百度很多  不说了 4.你们项目内使用的jsbridge是如何实现的  有没有其他方式 客户端如何调用前端  有几个方法 如何优化下你们的混合开发我们项目是javascriptinterface方式实现的  url也可以实现 如果有任何能传输的路径都可以实现这个  客户端回调是用加载url的方式或者webview后续提供了一个方法 最后一个你们可以百度  我前几天查了下资料  提早初始化webview 5.图片库选型原因 以及原理 基础问题 6.我们项目安卓路由库如何实现的  进度如何  个人项目我就不说了 7.我们项目自动化埋点的实现 以及问题探讨 同上 8. Diffutils recyclerview优化  我个人看法优化主要想问recyclerviewpool这个东西项目内有没有共享  如何实现的 9.安卓基础姿势 handler原理 activity启动流程 ams applicationthread  activitythread  (这个问题我回答的比较糟糕) bitmap 565 8888之间的差异 (我也没答到点上) 10.我就问了两道算法题  easy难度  合并有序链表  合并n个有序链表并输出最小的n个数 11.网络层优化问题 httpdns使用场景  一些关于api请求数据劫持 校检正确性问题 网络性能优化的问题 除了上面说的 我们项目已经用了http2.0了  所以我就默认场景是这个了 12.推送库设计  我们项目基于不同厂商使用不同的推送通道 问了下咋写的 大概问题就这么多  四面中有问题重复啊  所以我都合并到一起了 ...查看更多
2 年前 发布
15
匿名用户
Android
确定通过确定通过
一,唠叨一下:先讲一下我的职业生涯哈,不想看的可以直接到最后一段。我是普通二本出身,一直飘在北京,先是做web网站开发,后转到了Android移动端,也没有什么好运气,就靠一点小机智,得过且过混到16年初,靠着移动互联网大浪把我推到了一家二线互联网企业,在这里才算真正重构了自己,感谢当时遇到的同事,以及有可以和公司一起成长的机会,先后经历了完整的插件化和RN重度封装,知道了虚拟机和Android源码的重要,并开始积累。 18年初,由于公司内部重大调整,动荡不安,再加上自觉jvm和framework很溜了,于是开始看机会,寒冬初期也还算是顺利吧,进了一家普通的一线,可是没想到真正的大厂弯弯绕这么多,内斗激烈,效率如此之低,不是嫡系,你不仅少有升职加薪的机会,连好的项目都拿不到,这个时候迷茫了,大厂也算进来了,结果却如此令人失望,再加上看了一些中年危机的文章,更是稀里糊涂了,于是转而研究各种赚钱方式,基金,股票,房产,开店加盟等等吧。直到去年过年回家,跟老家发小聚会,介绍了各自的情况,才明白中国实体经济竟然是那么的糟糕,脏累险,如果轻易踏足,自己这个小白绝对会被人生吞活剥了的。 还得多谢知乎大神们的引导,这时才明白了一点,知识特别是你本专业的知识,才是安身立命之本,是你最好最快的赚钱方法,读了多少年的书中自有黄金屋,这刻才算真正领悟吧,于是用三个月逐渐修补自己最后的短板:开源库和算法,过程中,逐渐拿各细分行业的小独角兽练手,最后一次就搞定了头条,很顺利。以上就是我的唠叨和感慨,进入头条对于很多985研究生毕业的人来说,是件不太难的事情,可是对于普通人来说,还是个梦想,所以我稍微记录一下心路历程,给别人以参考。 二,头条面试流程:简历通过之后,HR会先跟你打个电话确认,然后发个流程邮件。一轮笔试,三轮技术面试,最后是HR面。在这里要聊一下,头条面试确实很有一套风格:笔试题时间大约只有四十分钟,是1个Java题,4个Android题,1个算法,1个设计,都是经典题型,谁都能写上点东西,这个最考验一个人的水平了,从你答题的深度,可以看出你的水平。技术面,每一轮时间都在一个小时左右,而且都有java,Android和算法,只是侧重点不一样,第一轮是笔试题+基础;第二轮是你简历上写的技术点,不断深入问;第三轮主要是聊你曾经做过的项目,会非常细。最后是HR,就是常见的提问,主要是收集你的情况,实话实说即可,不要太偏激就好。 三,关于面试题:头条对于员工的管理是极严格的,这些都是不允许透露的,所以为了不招惹麻烦,我就不能具体说每个题是什么了,实际上除了笔试题,其他说了也没意义,每个面试官都会根据自己的喜好以及你的简历,问出无数种问题,而且技术面足足有三轮,你可以幸运地过一个,不可能连续幸运三次,所以还是好好积累吧。 四,面试准备:首先,一定要先搭建自己的知识体系,再往里面填充各种东西,才能真正掌握,这个填充过程一定要从点滴做起,面试前才去突击是没多大作用的。对于Android工程师来说,这个越来越成熟的岗位,要求是越来越高了,知识体系大约有十个方面:Java基础,Java虚拟机;Android基础,Android源码;开源库,算法;操作系统,计算机网络;软件工程,设计模式。 下面举几个最常见的面试问题吧,Java基础:final finally finalize有什么关系,HashMap原理,编译时注解Java虚拟机:按照问到的可能性是大小,类的加载 > JMM > GC > Java内存分区 > oop-klass > JITAndroid基础:Activity A启动B之后生命周期,onSaveInstance()和onNewIntent()调用时机Android源码:消息机制,View的事件处理机制,View的绘制过程,Activity启动过程开源库:OKHttp,Glide,LeakCanary,RxJava实现原理算法:树的深度和广度优先遍历(非递归),100万个树找最大的100个,快排,堆排序操作系统:进程和线程的区别,多线程的实现方法,异步改同步,生产者消费者模式,手写线程池计算机网络:七层架构,TCP的三次握手四次挥手,https和http的区别。软件工程:类图,时序图,如何设计一个项目(往功能性,健壮性,性能性,时间成本四个纬度上套)。设计模式:面向对象七大原则,手写单例,手写观察者,代理模式。 总之,北京居不易,而选择理工科的朋友,大多都出身普通,希望大家不要忘本,知识才是改变自身命运的唯一路径。蹉跎这么久,我也是最近两年才渐渐明白这个道理,于是借着这个机会,分享给大家。 ...查看更多
2 年前 发布
8

进入微信小程序

前往微信小程序,查看更多结果

立即前往
看准网字节跳动字节跳动面试经验字节跳动面试经验:准备不足,二面未过,待来日再战
正在招聘Golang开发工程师200 个岗位