5面京东Android开发,已offer

前言

在我接触Android开发之前接触的最多的是网络方面,用的比较多的语言就是C和Python。到了大二由于一次偶然的机会让我我决定以后向 Android开发方向出发,至今为止我学习Android差不多也快2年了,所以Android方面的知识算不上很好。在我投的时候,是刚刚毕业的一两天,没有去刻意的准备笔试面试,也有很多东西都忘记了。但我还是把简历投给了京东,本来不抱有希望的我,结果在我收到了京东的面试邀请,后面就有了这5次面试。

下面简单的说一下我的这5次面试:4次技术面+1次HR面,希望我的经历能对各位需要找工作的人有所帮助。

一面

(大概45分钟左右)

  1. 自我介绍(我主要介绍自己会的技术细节和项目经验,至于自己的经历都是一语带过,毕竟后面面试官会问你的)。
  2. 聊我的项目(对自己的项目自己做了一些什么改进,在项目实施中发生困难时怎么去解决它)。
  3. 图片加载库相关,bitmap如何处理大图,如一张30M的大图,如何预防OOM。
  4. 浏览器输入URL发生了什么? TCP和UDP区别? TCP如何保证传输可靠性?
  5. 讲下跳表怎么实现的?哈夫曼编码是怎么回事?非递归且不用额外空间(不用栈),如何遍历二叉树
  6. 后面又问了很多JVM方面的问题,比如Java内存模型、常见的垃圾回收器、双亲委派模型这些
  7. 询问我还有什么问题要问的。

二面

(1h左右)

  1. 自我介绍(根据第一次介绍自己的面试官的感觉,在第二次介绍时决定自己要不要进行修改或不变)。
  2. 操作系统的内存管理机制
  3. 进程和线程的区别
  4. 说下你对线程安全的理解
  5. volatile 有什么作用 ,sychronized和lock有什么区别
  6. ReentrantLock实现原理
  7. 用过CountDownLatch么?什么场景下用的?
  8. AQS底层原理。
  9. 造成死锁的原因有哪些,如何预防?
  10. 加锁会带来哪些性能问题。如何解决?
  11. HashMap、ConcurrentHashMap源码。HashMap是线程安全的吗?Hashtable呢?ConcurrentHashMap有了解吗?
  12. 你有什么问题要问吗?

三面

(50分钟左右)

  1. 有没有参加过 ACM 或者他竞赛,有没有拿过什么奖?
  2. 你觉得你有什么优点和缺点?你觉得你相比于那些比你更优秀的人欠缺什么?
  3. 有读过什么源码吗?(我说我读过 Java 集合框架和 Netty 的,面试官说 Java 集合前几面一定问的差不多,就不问了,然后就问我 Netty的,我当时很慌啊!)
  4. 介绍一下自己对 Netty 的认识,为什么要用。说说业务中,Netty 的使用场景。什么是TCP 粘包/拆包,解决办法。Netty线程模型。Dubbo 在使用 Netty 作为网络通讯时候是如何避免粘包与半包问题?讲讲Netty的零拷贝?巴拉巴拉问了好多,我记得有好几个我都没回答上来,心里想着凉凉了啊。
  5. 用到了那些开源技术、在开源领域做过贡献吗?
  6. 常见的排序算法及其复杂度,现场写了快排。
  7. 红黑树,B树的一些问题。
  8. 讲讲算法及数据结构在实习项目中的用处。
  9. TCP与UDP区别与应用(三次握手和四次挥手)涉及到部分细节(如client如何确定自己发送的消息被server收到) HTTP相关 提到过Websocket 问了WebSocket相关以及与socket的区别。

四面

(半个技术面)

三面面完当天,晚上9点接到面试电话,感觉好像是部门或者项目主管。 这个面试和之前的不相同,感觉面试官主要在考察个人解决问题的能力、学习能力和团队协作能力。

  1. https相关,如何验证证书的合法性,https中哪里用了对称加密,哪里用了非对称加密,对加密算法(如RSA)等是否有了解。
  2. 出现 OOM 后你会怎么排查问题?
  3. 自己平时是如何学习新技术的?除了 Java 还回去了解其他技术吗?
  4. 上一段实习经历的收获。
  5. NginX如何做负载均衡、常见的负载均衡算法有哪些、一致性哈希的一致性是什么意思、一致性哈希是如何做哈希的
  6. 还有一些其他的,想不起来了,感觉这一面不是偏向技术来问。

五面

(HR面)

  1. 自我介绍。
  2. 你觉得你有什么优点和缺点?如何克服这些缺点?
  3. 你期望的工作地点是哪里?
  4. 你的兴趣爱好是什么?
  5. 你该如何快速融合的团队当中等.....

总结

  1. 可以看出面试官问我的很多问题都是比较常见的问题,所以记得一定要提前准备,还要深入准备,不要回答的太皮毛。很多时候一个问题可能会牵扯出很多问题,遇到不会的问题不要慌,冷静分析,如果你真的回答不上来,也不要担心自己是不是就要挂了,很可能这个问题本身就比较难。
  2. 表达能力和沟通能力太重要了,一定要提前练一下,我自身就是一个不太会说话的人,所以,面试前我对于自我介绍、项目介绍和一些常见问题都在脑子里练了好久,确保面试的时候能够很清晰和简洁的说出来。
  3. 面试之后及时总结,面的好的话,不要得意,尽快准备下一场面试吧!

我觉得我还算是比较幸运的,最后也祝大家都能获得心仪的Offer。

公众号:Android Jasper 专注分享面试题|面试技巧|Android学习资料。(dd:16)

#京东##Android##面试##京东面试#
全部评论
楼主果然强,一路过关斩将,沾沾喜气
1 回复 分享
发布于 2022-08-01 21:09
5面,这流程得是多复杂啊
点赞 回复 分享
发布于 2022-07-29 16:31

相关推荐

05-12 22:45
已编辑
2222 安卓
55min问了40多个问题,底裤都被扒完了...问题:1,为什么使用flutter2,flutter的优点是什么3,mvvm架构的特点4,flutter和原生混合开发时,页面路由如何管理5,hashmap数据结构如何实现6,红黑树特点,插入和查找的时间复杂度7,hashmap为什么在链表长度为8时转化为红黑树8,内存泄漏的根本原因是什么?9,内存泄漏检测工具的原理了解吗?内存泄漏是如何被检测出来的?10,引用类型有哪些?11,Java中加锁有几种方式?12,审查代码时,如何发现潜在的死锁问题?13,死锁如何产生14,如何避免死锁15,tcp,udp是哪一层的协议,他们的区别是什么?16,tcp如何保证可靠性17,请求头中有哪些信息18,cookie的概念19,序列化和反序列化20,json和protobuf的区别21,数据加密有了解过吗?22,https相比较与http增加了哪些内容?23,https中的证书的概念24,效率比较高的排序算法,哪种算法时间最稳定?25,在实际项目中更轻倾向于自己实现排序算法,还是使用系统提供的方法26,java或c++中排序算法的源码有了解过吗,动态调节排序算法的策略?27,字符串查找算法,kmp时间复杂度,kmp思想是什么?28,计算机两数相乘溢出,如何解决?29,两个链表相交,如何求焦点30,安卓跨进程通信31,传统的操作系统,除了共享内存外,还有哪些跨进程通信的方法,使用场景相比于共享内存有哪些不同?32,view的绘制流程33,安卓绘制中的硬件加速的概念34,flutter是如何实现跨平台的35,flutter如何进行渲染,落实到平台上36,安卓消息机制37,flutter跟原生之间的消息通信38,服务器主动推送消息到客户端有了解吗?39,安卓本地存储,sqlite和sp的特点40,sp可以跨进程吗?如何操作?41,sp存储信息的两种方式,有什么区别?42,高德sdk,手机在室内时无法做卫星定位,如何发挥作用,误差是多少?43,网络请求框架现在普遍使用的是什么?dio是一种什么样的网络请求框架?
点赞 评论 收藏
分享
一面1.hashmap的原理2.一个浏览器点击一个URL的全流程3.DNS是在哪里解析的4.讲讲activity的生命周期5.一个activityA点击ActivityB的生命周期6 .讲讲handler机制7.如果主线程用handler回调子线程,有什么要注意的8.View的事件分发的原理9.FrameLayout,A按钮把B按钮盖住了,谁响应事件10.一个ScrollView有两个全屏RecyleView,想要第一个RecycleView滑到底后丝滑的拉出第二个,讲讲思路和方法11.讲讲View的绘制流程12.算法题:层序遍历二面1.Java上有没有一本完整看完的技术书籍2.实习过程当中学习到了哪些3.用户角度的指标你有做一定的衡量吗,比如ab实验4.有没有遇见比较难解决的性能优化的卡点问题5.流媒体的业务场景你了解过相关的缓存类的优化吗6.那你的视频以什么形式来存储呢,比如一个视频我看到了五秒,但缓存到了十秒,我跳到了三十秒,这是个什么缓存形式呢7.Android操作系统上,每一层有哪些多媒体框架呢8.讲讲看过的源码里你讲讲很好的设计,抛开Glide的三级缓存9.现在让你做一个插件系统,你要让其他同学写的页面都在你的体系内成为一个插件,你要怎么设计,讲讲最核心的几个方法10.讲讲你觉得那些编译器的插件是怎么管理和提供的呢11.讲讲你用过的哪些设计模式12.操作信号上有异常信号,常见的异常信号你了解哪些13.Android程序的编译过程是什么样的14.如果让你去设计一个圆形的可以拖拽的进度条,进度条是渐变色的,怎么做15.布局优化怎么系统的来看和优化,从发现问题到解决16.渲染除了层级还有哪些因素影响17.你任务编排优化启动是怎么做的18.有些同步依赖异步,异步依赖同步,你怎么去管理19.讲讲你认为的卡顿,怎么优化,卡顿底层原理是什么20.讲讲HTTP的header字段里和缓存有关的字段21.跨平台学习过吗,做过吗22.如果给你一个技术,要求你三天内学会他,你会怎么做23.讲讲你认为自己的优点和缺点算法题 三数之和hr面,基本就是职业规划,实习时间,地点等老生常谈的问题,时间跨度六天,算上速通了
凌offer:明天HR面,接好运
点赞 评论 收藏
分享
评论
1
12
分享

创作者周榜

更多
牛客网
牛客企业服务