2024年最全这算得上是“凡尔赛”吗?,Android岗,去面试拿什么文件袋

分享读者

作者2013年java转到Android开发,在小厂待过,也去过华为,OPPO等大厂待过,18年四月份进了阿里一直到现在。

被人面试过,也面试过很多人。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长,而且极易碰到天花板技术停滞不前!

我们整理了一份阿里P7级别的Android架构师全套学习资料,特别适合有3-5年以上经验的小伙伴深入学习提升。

主要包括腾讯,以及字节跳动,阿里,华为,小米,等一线互联网公司主流架构技术。

腾讯T3架构师学习专题资料

如果你觉得自己学习效率低,缺乏正确的指导,可以一起学习交流!

我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。

35岁中年危机大多是因为被短期的利益牵着走,过早压榨掉了价值,如果能一开始就树立一个正确的长远的职业规划。35岁后的你只会比周围的人更值钱。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 如何让一个线程执行完执行另一个线程t.join

  • 如何让一个线程的某条语句执行完执行另一个线程:lock.await,lock.notify

  1. JAVA的内存模型

  2. synchronize和volite关键字和原理

  3. HashMap和LinkedHashMap的实现原理,LRUCache的实现原理

  • key匹配的过程:中间他设计了一个场景让我实现Double类型的存储,但是Double在key的匹配过程中,只需要比较整数部分。:实现的原理就是通过覆盖类的hashcode和equals方法,实现key的匹配相同。

  • 第二个是或的关系

  • 双向链表的实现的过程

  • picasso LRUCache实现的过程

if (e.hash == hash &&((k = e.key) == key || (key != null && key.equals(k))))

算法

  1. 数组中超过一半出现的数字

  2. 其他都是场景题,不具有代表性,临场发挥的

——字节跳动第二面:

二面的面试官,问的比较广。但是似乎不是很注重细节。我在这儿吃亏了,感觉他 不注重细节,就没讲。导致他问了我一堆问题。**重点还是对于知识点

1)你要一点不懂,就直接跟他说不懂;

2)要懂一点可以告诉他你不太了解,但是可以猜怎么实现的;

3)对于他题给你的场景题,你一定不能轻易放弃,不会要赶紧与他交换思路,根据他的提示尽力去解决问题,这个很重要,因为这考的就是你临场反应能力和对知识点的应用能力还有学习能力**

——字节跳动第三面:

三面的面试官一般会让你讲项目,我就将论文里面的东西。这个你最好是,讲一下项目的背景,还有项目中遇到的困难,以及自己如何去克服的。然后就是专业知识了。重点还是,不会想想之后让他提示,顺着他的思路去解决问题。

PART2:腾讯6面场景重现

=========================================================================

——腾讯一面:

上来就讲项目,问我最近在做哪一个项目

我就说简输了。

他问 项目难点

我说 报文解析

  1. 你知道cookie是什么吗.

  2. 有考虑过安全问题吗,没有

  3. KMP算法讲讲

  4. 线程池优化,怎么优化 (哦,设个参数咯就是,我说 对的)

  5. 线程怎么运行,线程池原理(他问的是线程是怎么跑起来的,系统什么调度,我说操作系统做的吧,我懵逼,IOS感觉跟ANDROID差好多)

  6. 线程能访问主线程的变量吗, 主线程能访问其他线程变量吗? 能,一般不会, 这点追着问

线程变量放哪里,别人怎么用,知道线程私有变量吗?(Ios跟Android貌似不太一样)

  1. Kotlin DSL是什么意思 (解释了好久他好像没听明白)

——腾讯二面(笔试):

考察具体岗位的技术栈语言的基础知识,题目不难,要求基础扎实和广度,文中不过多赘述,大致题目整理到pdf文档里。

——腾讯三面+四面(技术组长面):

腾讯的三面和四面都是技术组长来面的,这个阶段相对来说还是比较紧张的,面试内容则主要是聊解题的思路以及项目经验,考察个人对于技术掌握的一个广度,涉及到比较多的架构设计。

  • OkHttp有什么好处

  • Retrofit怎么实现的

  • Retrofit有什么好处

  • OkHttp设计模式

  • 你还知道什么设计模式

  • Handler机制,你知道有什么坑点吗(内存泄露)

  • 内存泄露有什么场景

  • Binder讲一下

  • 你知道Binder有什么坑点吗

  • KMP

  • 线程池优化怎么优化服务器性能

  • 三范式讲讲你设计的三范式

  • 三范式定义

  • 数据链路层用什么协议,解决什么问题

  • 协程

  • Flutter,RN有了解过吗

  • 你写MVP那MVVM你造吗

  • 你还知道什么设计的框架(MVC)

——腾讯五面+六面(技术总监面):

这两面的面试官应该是技术总监,面试难度应该是这一套流程里最大的,主要考察面试者的两个方面,包括讲优化,和高级UI,需要面试者对于技术知识有比较深度的理解和认识。

①针对系统设计提问:

  • MVP讲讲,什么优点

  • MVC用了什么设计模式???

  • View的生命周期!!!

  • IPC机制(Socket优点?)

  • 线程状态

  • activity生命周期

  • draw和onDraw区别

  • 启动模式

  • Handler机制

  • 请求网页过程

  • 断点续传设计

②针对HTTPS进行提问:

  • 为什么不用HTTPS呢

  • 如果让你做HTTPS,你要怎么做,我说想一下,他叫我讲下HTTPS

  • HTTP你应该懂吧,讲下HTTP报文

  • 讲下POST,GET区别

  • 讲下各种请求方式 PUT DELETE OPTIONS

  • URL长度限制在哪里做的呢?

  • GET有什么必要的请求头吗

③开放性问题:

  • 在项目中,你印象中遇到的印象最深的一个难题,如何解决的?

  • 在面试过程中,你觉得面试官问的哪个问题让你印象最深,为什么?

  • 生活中有遇到过什么困难吗?

PART3:我是如何准备面试的?

===========================================================================

①准备简历(敲门砖,不会包装简历的程序员只能去外包)

程序员的简历一定要多下一些功夫,尤其是对一些字眼要再三斟酌,如“精通、熟悉、了解”这三者的区别一定要区分清楚,否则就是在给自己挖坑了。当然不会包装,我可以将我的简历给你参考参考,如果还不够,那下面这些简历模板任你挑选:

②了解面试公司,做好功课,知道问什么

③梳理知识体系,学会举一反三

实际上,梳理知识体系是最简单的事,但很多开发小白总是一头雾水,实际上从第二点的大厂面试点就可以总结梳理出来我们应该要学什么,要掌握什么,通常我的方法是“大厂面试点”+“工作年限”来梳理自己接下来的学习及发展路线图。

之后,就需要根据路线图上的重点去进行有针对性的学习,在学习过程中,学会举一反三,学会写笔记,做总结。

这里我分享我个人的一些笔记内容吧:

  • Android开发核心笔记

  • NDK学习笔记

最后

希望本文对你有所启发,有任何面试上的建议也欢迎留言分享给大家。

好了,今天的分享就到这里,如果你对在面试中遇到的问题,或者刚毕业及工作几年迷茫不知道该如何准备面试并突破现状提升自己,对于自己的未来还不够了解不知道给如何规划,来看看同行们都是如何突破现状,怎么学习的,来吸收他们的面试以及工作经验完善自己的之后的面试计划及职业规划。

好了~如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。

为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!希望读到这的您能点个小赞和关注下我,以后还会更新技术干货,谢谢您的支持!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

6)]

为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!希望读到这的您能点个小赞和关注下我,以后还会更新技术干货,谢谢您的支持!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 21
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值