从门外汉到腾讯Android高级研发——一个半路出家菜鸟的艰难逆袭之路(1)

一定是中高级的Android开发,才有市场,一定要自己动手做点小项目,再去找工作。

另外,Android的职业规划之路有很多,全在于你是否愿意继续学习,因为后面可拓展的技术太多了,比如上面提到的flutter。

##(四)入职腾讯

我在跳槽后,进入一家很知名的网络公司,那个时候,我的水平,离进入腾讯的技术员,还有一定的差距。

主要的差距在于,基础理论知识!

越是大公司,越重视程序员的基础知识,这也是非科班出生程序员的致命痛点。

那么是否有办法补救,当然有,那就是:看书、刷题库。

看书和刷题库是最有效弥补基础知识的方式,我自己整理了一套面试题,里面有历年各大知名网络公司的面试题,百度、腾讯、阿里巴巴、美团、滴滴等等都有,其实这些公司的面试题,都是非常基础的知识。看到这些题,你就知道我花了多少精力了。

再跳槽到第二家公司,我是我们公司Android开发的小领导,在繁忙的工作中,每天我必定抽出时间继续学习。

有很多程序员容易满足,不会主动去学习,直到他们需要用到的时候,才开始翻书学习,这种态度不是说不行,只是在我看来,有点懈怠了。

程序员是一个需要不断学习的岗位,同时程序员也是一个高薪的岗位,所以这样容易滋生懈怠,其实这样未尝不可,只是如果你想站在更高的平台,那么不要停止学习,哪怕每天只是学一点点。

后面的事情,顺理成章,19年,我开始规划自己入职腾讯的计划。

除了刷腾讯公司每年的面试题之外,我还认真的了解腾讯技术部门的架构,以便清晰的知道,如果自己要进去,自己应该负责哪些事项,同时,这些事项需要拥有哪些技术的程序员。

在一切做好准备后,我去面试的那天,游刃有余,我丝毫不觉得我在面试一家多么厉害的公司。


下面分享我的面经:

一面(1h):

  1. 谈谈你学习过的架构模式 MVC MVP MVVM

  2. 一个Union类型,共有一个int类型、Float、Double类型的字段,请问在32位的CPU创建时需要占用多少字节?

  3. Union和Struct的区别

  4. 谈谈你所了解的C语言的内存管理

  5. 说说你了解的程序设计模式,知道多少说多少

  6. 说说TCP和UDP的区别,你认为QQ的实现是使用TCP还是UDP?

  7. 谈谈你了解的C语言的编译过程

8 . 进程和线程的区别

  1. 谈谈你对Viper架构模式的了解

  2. Fiddler的工作原理解释一下

  3. 死锁产生的原因以及解决办法

  4. 进程的调度算法有哪些,分别解释一下?

  5. Android程序共享数据的方式有哪些?

  6. Android的性能优化

  7. Handler和HandlerThread的区别

  8. 八皇后问题了解过吗?具体怎么实现的?

  9. 解释一下异步编程,说说它的应用

  10. Android应用的启动过程

二面(40Min):

1.  多线程了解吗?

  1. 多线程如何实现通信?

  2. 多线程如何实现线程安全?

  3. 多线程如何实现同步机制?

  4. 进程间的通信方式?

  5. 谈谈你对架构模式和设计模式的理解。

  6. 现在让你设计一个字典,说一下你的设计思路。

三面(3.5h):

  1. 请你画出MVP架构图,并解释一遍它的运作流程。比如网络操作

  2. 解释一下页面展示数据获取的数据来源。

  3. 多线程会导致什么问题,应该怎么解决?

  4. Android进程的优先级是怎样的?

  5. 说一下Activity的生命周期

  6. onStar和onResume方法的区别是什么?什么时候用onStart,什么时候用onResume.

  7. 说一下冒泡排序的区别?

  8. 冒泡排序最优的时间复杂度?

  9. 一棵没有特定顺序的二叉树,如何存放在文件中?

  10. 手写代码,给一个int的数组,将其移动k位(使用交换的思想)。如array = [1,2,3,4,5], k = 2, 则移动后的array为[4,5,1,2,3]

  11. 设计QQ传文件功能,并画出模块设计图。

  12. 说一下防火墙穿越的实现原理

  13. 加密算法和加密原理

  14. Https实现原理

  15. 手写代码,无限大整数转16进制

  16. 讲解一下登陆时密码加密过程

  17. 推理题

宴会上,人们都带着白色或者黑色帽子,其中至少有一个人带黑色帽子,每个人都能看到别人帽子的颜色,看不到自己帽子的颜色。假设每个人都足够聪明,如果在熄灯的时候你觉得你自己带了黑色帽子,就鼓掌。第一次没人鼓掌,第二次没人鼓掌,第三次有人鼓掌。请问有多少个人带了黑色帽子。

Hr面(20Min)

1.自我介绍

  1. 你认为你身上最显著的三大特征是什么?

  2. 产品、薪资、个人发展、平台、地域等等  选择你认为最重要的三个?并解释为什么?

4.你除了腾讯还有面试别的公司吗?为什么选择腾讯?

5.家住哪,倾向在哪个城市工作?

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

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

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

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

题外话

不管怎么样,不论是什么样的大小面试,要想不被面试官虐的不要不要的,只有刷爆面试题题做好全面的准备,当然除了这个还需要在平时把自己的基础打扎实,这样不论面试官怎么样一个知识点里往死里凿,你也能应付如流啊~

这里我为大家准备了一些我工作以来以及参与过的大大小小的面试收集总结出来的一套进阶学习的视频及面试专题资料包,点击这里免费分享给大家,主要还是希望大家在如今大环境不好的情况下面试能够顺利一点,希望可以帮助到大家~

最后如果马化腾把腾讯给你一天,你会来做什么?欢迎评论区讨论。

要的,只有刷爆面试题题做好全面的准备,当然除了这个还需要在平时把自己的基础打扎实,这样不论面试官怎么样一个知识点里往死里凿,你也能应付如流啊~**

这里我为大家准备了一些我工作以来以及参与过的大大小小的面试收集总结出来的一套进阶学习的视频及面试专题资料包,点击这里免费分享给大家,主要还是希望大家在如今大环境不好的情况下面试能够顺利一点,希望可以帮助到大家~

[外链图片转存中…(img-JULqv6aa-1710894130851)]

最后如果马化腾把腾讯给你一天,你会来做什么?欢迎评论区讨论。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值