拿到腾讯Android面试offer,我是如何准备技术面试的!(2)

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注Android)
img

正文

二面面试题分享:

1.java虚拟机

2.内存优化

3.arraylist hashmap linkedhashmap

4.binder

5.surfaceView和view

6.AMS WMS

7.APK瘦身

8.锁(死锁的场景和解决方案)

9.算法 两个字符串 比较最大的公共字符串 ,主要是思路 (面对问题,以大化小)

三面面试题分享:

1.http优化 okhttp多路复用

2.硬币兑换问题 [算法]

3.车的通过问题,一条路上,30分钟内看到有车通过的概率是90%,那么5分钟之内概率是多少

4.图的展现形式

5.全球货币转换功能的代码

6.给你一个整数数组 nums ,请你求出乘积为正数的最长子数组的长度

面试前的准备


这是我最想跟大家聊的东西,因为关于面试前的准备,或者是准备什么还是很有必要重点分享下的。

很多人面试的时候不知道说什么,同样很多人都说要引领着面试官,不要被面试官引领。但是该怎么做呢?难道我们不让面试官说话?我们给面试官规定题目?这都是不现实的,对吧?但是通过一些准备,还是可以实现让我们去给面试官”规定题目”的,怎么做?举一些简单的例子

例如:你的简历当中写到自己对Socket有一些了解,那么很自然的就会聊到TCP,你提前好好准备下,你自己都是可以预知的,当面试官问听到你 Socket的时候,自然就会走到TCP上。如何准备?很多人上网上查了一些,TCP很经典的就是连接的三次握手,断开时的四次挥手。你也简单的查了一下 三次握手什么样,四次挥手什么样,但是这仅仅就够了吗?我们为什么不在往更深层去准备下呢?例如连接为什么是三次,断开为什么是四次?连接如果两次会发生 什么?三次握手中总共发送了三个包,那么仅仅就是做了三个作用吗?更往深处可能会涉及到TCP的头部结构,以及TCP连接,断开时SYN,FIN,ACK 的有效值设置又是什么样的?我相信你把这些都说出来肯定是会被加分的。当然你想很好的说出来不是说你面试前查查就可以了,肯定是需要去好好的去理解的。这也就是我说的面试前的准备,不要为了面试而面试,而是要为了面试而去学习,提升自己。

我可以再举个简单的例子,关于图片缓存这个东西,在iOS,Android中有很多动态的图片缓存解决方案。你的简中如果写到做过相关的操作,我觉 得这个东西还是很值得去问的。明知道会被问,面试前肯定要好好准备下啊。准备的过程当中我觉得需要总结出自己的方案中优点有哪些,缺点有哪些,针对你的缺 点你准备怎么做,或者说你可以针对你知道的一些知名的开源库是如何解决的,你有什么可以借鉴的,这样我感觉你肯定是要被加分的,最起码你是阅读过开源库, 并且认真的去思考过。

我就见过有人被问到如何做图片缓存的时候,他就简单的说了一句通过URL下载图片然后保存起来,以便利用。这个话题当中有很多东西都是可以去值得聊 的,就说这么一句话,我觉得面试官不可能得到他想要的答案,他没有得到答案,肯定是要去接着问你的。这个时候你就会显着的很被动,接下来就是要被面试官引 领着走了。有人会问有什么可以聊的?

我举一些简单的例子,例如图片的缓存方案肯定是要涉及到图片的下载问题,既然是下载,那么下载进度信息的回调你怎么做的?下载失败怎么办?下载完成 的回调怎么做的?下载肯定涉及到多线程的下载,那么这些线程你是如果管理的?线程管理器的结构又是什么样的?甚至是一个URL下载连接正在被下载,另一个 地方发起了一个相同URL的下载,这种情况我认为为了节省资源不应该在新开一个线程去下载,那么这种情况你有做处理吗?如何做的?其实有很多值得考虑的问 题和值得去说的。做缓存,你做的是磁盘缓存啊?还是内存缓存?还是两者都有?是否支持磁盘空间大小的设置,图片有效期的设置如何做的,图片的清理工作,我 相信无论在iOS还是Android那些知名的开源库不可能就是简单的有一个清理方案,肯定是支持部分清理,或者全部清理,部分清理的依据又是什么?例如 依据图片的有效期来做清理,过了我们设定的有效期,这个时候我们就需要去清理掉这部分内容。另外如果如果所有缓存文件的总大小超过这一大小,则会按照文件 最后修改时间的逆序,以每次一半的递归来移除那些过早的文件,直到缓存的实际大小小于我们设置的最大使用空间。这些东西都是有很多值得去说的,当然你只要 去感悟的越深,理解的越深,就会体会的越深,表达的就会越好。

刚刚提到的东西我觉得聊个20分钟还是很容易的,因为这个里面存在的东西和值得注意的地方太多了。准备好一个项目,找出你项目中的一个亮点,然后认真的去总结, 并且看一些别人的方案,看看有哪些你没有的,你没有的就是你方案的缺陷,看看该怎么解决。我觉得,缺陷还是很重要的,没有什么很完美的解决方案,方案好也 仅仅是针对满足了现在的所有业务需求而谈的。针对你的业务需求,谈出你的设计理念。项目不用多,认真的去总结一个就可以了。关键是很多人做了很多项目,但是却没有认真的去体会总结一个,做了也是白做,仅仅是代码熟练度增加了而已。

后话


不要为了面试而面试,要为了提高而学习,提高了自然也就能从容的面对知名公司的面试了。

就先写到这,码字不易,写的很片面不好之处敬请指出,如果觉得有参考价值的朋友也可以关注一下我

我的【Github】会分享一些关于Android进阶方面的知识,也会分享一下最新的面试题~

如果你熟练掌握【Github】中列出的知识点,相信将会大大增加你通过前两轮技术面试的几率!这些内容都供大家参考,互相学习。

最后

对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!

最后,我再重复一次,如果你想成为一个优秀的 Android 开发人员,请集中精力,对基础和重要的事情做深度研究

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。

为了大家能够顺利进阶中高级、架构师,我特地为大家准备了一套高手学习的源码和框架视频等精品Android架构师教程,保证你学了以后保证薪资上升一个台阶。

以下是今天给大家分享的一些独家干货:

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

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)
img

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

链图片转存中…(img-KUW6Q57D-1713134030766)]

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值