疫情被裁3个月,看我如何拿下腾讯offer(附面经+面试心得)(2)

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

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

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

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

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

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

正文

  • Linux的启动流程
  • 对Native层有没有兴趣
  • 对做智能家居有没有兴趣
  • 招一个应届生进来做app也是做,招你也是做,为什么要招你

顺丰科技

一轮技术面 总共三轮面试

  • handler机制
  • looper的唤醒是在Java还是Native层,怎么做到的
  • HashMap,ConcurrentHashMap,HashTable有什么异同
  • Binder通信机制
  • 跨平台开发熟不熟悉
  • 如何提高海外用户的访问速度,假设服务器在深圳。
  • 如何学习一个新东西,有哪些执行步骤

百度

  • 红包随机算法 是怎么做到的
  • 写一个二叉树的深度度优先遍历,递归 非递归
  • Android中LocalServerSocket是干什么用的
  • binder的Native层代码看过吗
  • Linux有哪些RPC机制
  • 为什么android使用了Binder机制没采用共享内存
  • 如果让你设计一套进程间通信的机制,你会怎么设计
  • Linux的模块动态加载机制是怎么实现的
  • 一个物理屏划分为三个逻辑屏,是靠谁来分发事件的。
  • ConcurrentHashMap是不是绝对的线程安全。(final,绝对线程安全,相对线程安全,线程不安全)
  • 线程池是如何管理线程状态的

大宇无限(C轮公司 前身是豌豆荚)

是我第二心仪的一家公司,办公环境,氛围,福利都好的一逼,可惜了

  • Kotlin的访问权限
  • Koltin为什么比Java更安全
  • Koltin比Java好在哪
  • JVM的内存模型
  • JMM的内存模型
  • 为什么操作数栈是Thread-Private
  • 计算二叉树的深度
  • ArrayList跟LinkeList区别
  • ArrayList如何扩容的,如何提高ArrayList的效率
  • 动态代理静态代理区别
  • 启动优化怎么做的。
  • 如果给你个IOS APP,你打算怎么优化。
  • http有哪几种版本,版本间有什么区别。https跟http有什么区别。
  • apk为什么要签名,v1跟v2签名的区别
  • apk从编译打包都安装的流程
  • dex到odex为什么不能在编译期优化
  • 热修复原理
  • 你的优势是什么

平安

三轮面试

  • http2.0 1.1 1.0的区别
  • http如何保证安全性
  • 安装包优化有哪几种方式
  • 启动优化有哪几种方式
  • View的绘制流程,每个方法干什么的,如果要获取View的宽高,在哪个方法里获取
  • 如何应对弱网环境
  • android数据存储方式
  • 如果一个app无法访问网络,你怎么做数据存储。
  • DVM跟JVM的区别
  • React Native跟原生开发的优劣

腾讯

三轮面试

一面:

  • 算法题 通电小球
  • Android 沉浸式状态栏 怎么实现的
  • 事件处理函数有哪几个,父View 子View 监听同一个事件,重写哪些方法。在哪个View重写?
  • ViewRootImpl接受事件吗?
  • apk编译打包流程 V1,V2 签名区别
  • 利用logging监听方法耗时,会不会让app增大延迟。
  • eventbus为什么要用CopyOnWriteList?
  • 插件化怎么加载资源的?
  • JVM怎么保证gc效率跟线程运行效率的 ?
  • 如果android没用对应的view,flutter能运行吗?手写单例模式,volatile 跟 synchronized区别?
  • 接口暴露,但是不让别人调用,有哪些办法?

二面:

  • 为什么采用flatbuffer? 比Json好在哪里?
  • 如何处理Crash,NativeCrash呢?Google是怎么做到的?如果上报过程中再次产生Crash能不能捕捉到?
  • uncaughtException是被谁调用的,如果再次崩溃能不能捕获到?
  • Linux是怎么知道app崩溃的,如果想要在被kill前 做一些耗时操作,该怎么做?
  • 考虑设计一个crash捕捉模块。
  • 100万个数字求100个最大值。
  • 手写快速排序算法。

三面 (GM面):

  • kotlin比Java好在哪里,是函数式编程吗?
  • 如何防止DNS劫持?
  • 如果让你实现一个调试器,你会怎么设计?静态调试?动态调试呢?

面试及学习心得

面试心得

一、跳槽换工作要先多面试一些小公司,建议各位面试的时候不要上来就直奔BAT等,大厂面试官的技术广度与深度也不是几年没面试的你,能搞定的。最好先去一些小公司看看他们问的哪些东西,自己回去再查漏补缺一下,最后去大厂。

二、面试的时候一定要控制好心态,一个好的心态往往更容易拿到offer。就像我有次面试,因为心态没控制好,才面了30分钟不到就结束了,所以如果面试前你心态没控制好,宁可不去,也别抱着一个糟糕的心态去面试。

三、在面试这家公司前,一定要在网上找一下这家公司近几年的面试题,了解一下这家公司的面试官比较喜欢问一下什么。

学习心得

一、多看一些实战项目视频和书籍

二、多刷一些算法题

因为一些大厂还是十分看重算法方面的,这里推荐大家刷**《剑指offer》**这本书。

大约80%的算法题都来自这儿,刷就完事了。但是,千万不能无脑刷。

1. 刷前思考算法!

不要看到题目就手痒,二话不说public void main。

面试官也不喜欢莽莽撞撞的学员,最好的做法是,看好题目,思考该用的算法模型,然后清晰地跟面试官说出自己的思路和解法,得到面试官的认可之后再继续写。

2. 刷时牢记规范!

清晰的书写、布局,合理的命名。这些微不足道的习惯可能会成为一票否决的因素。培养良好的编程习惯在每一次代码中都需要去落地。

3. 刷后总结优化!

千万别AC后就大喊万岁跑路走人了。AC只能说明结果正确,但手撕代码的过程中你的代码可是赤裸裸地暴露在面试官的眼里,身材是好是坏一眼就看出来了。请一定要对比官方标准答案,思考最优解法,时间、空间复杂度。

三、多看一些面经

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

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

我整理了一份阿里P7级别的最系统的Android开发主流技术,特别适合有3-5年以上经验的小伙伴深入学习提升。

主要包括阿里,以及字节跳动,腾讯,华为,小米,等一线互联网公司主流架构技术。如果你想深入系统学习Android开发,成为一名合格的高级工程师,可以收藏一下这些Android进阶技术选型

我搜集整理过这几年阿里,以及腾讯,字节跳动,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。

Java语言与原理;
大厂,小厂。Android面试先看你熟不熟悉Java语言

高级UI与自定义view;
自定义view,Android开发的基本功。

性能调优;
数据结构算法,设计模式。都是这里面的关键基础和重点需要熟练的。

NDK开发;
未来的方向,高薪必会。

前沿技术;
组件化,热升级,热修复,框架设计

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

我在搭建这些技术框架的时候,还整理了系统的高级进阶教程,会比自己碎片化学习效果强太多,CodeChina上可见;

当然,想要深入学习并掌握这些能力,并不简单。关于如何学习,做程序员这一行什么工作强度大家都懂,但是不管工作多忙,每周也要雷打不动的抽出 2 小时用来学习。

不出半年,你就能看出变化!

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

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

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

究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)
[外链图片转存中…(img-ALu4jjyE-1713347187026)]

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

  • 16
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值