腾讯竟然又偷偷开源了一套Android原生UI框架!好文推荐

背景

首先我是个菜鸡,工资也低的一笔。

刚毕业时候在一家国企上班干 app 开发,干了快两年的时候,跳槽到了一家伪大厂干安全。投了不少简历都没有回音,只有这加伪大厂要我就来了。当时说好了会接触一些底层的东西,然而平时也就写 python 脚本,逆向,android 上写了一些风控的东西,感觉有点 low,工资也不高,当初没敢多要,hr 给的比我要的还高。刚刚 leader 谈了谈明年的规划,现在想跳槽。

现在也是很尴尬,原来 app 开发的东西也忘了不少,然后其实我想干 framework 开发,自己对 ams,pms 还算挺了解的,平时也根据他们原创了一点微小的解决方案。最近开始 fork 一个 aosp,买个 pixel 改改刷刷练习一下。

理想毕竟是理想,Android 低端不好混,没什么经验跳到 framework 上去感觉也是挺难的,跳回 app 开发又不甘心,现在的状态貌似是干了快 3 年没有特别精通的东西。最近闹的裁员,我司也是其中之一。加薪怕是没戏了,然而生活还要继续,跳槽避无可避。

面试经历

网易游戏实习生招聘很神奇的是整个就一轮面试,HR面是不存在的。面试是视频面试,用的牛客网平台,大概面了一个小时多一点。面试主要就是把计算机四大专业课轮番问了一遍,问了Java语言基础,最后还问了一个算法题。四大专业课问的也就是那些基础问题,不过有些地方问的很深,基础的像问到了各种排序算法的最好、平均、最坏时间复杂度、线程和进程的区别、cache工作原理、计算机网络七层模型;问的深的像问到了进程中有多少个栈、线程中有多少个栈、阻塞是指进程阻塞还是线程阻塞、一台服务器上TCP和UDP监听端口号能不能相同、服务器80端口和客户端建立连接后会不会切换端口等。

Java语言基础这里有个小插曲,面试官没想到我不会C/C++(因为岗位介绍里面有写要会C/C++,但五个要求里只要求满足任意两个就可以投递)只会Java和Python,于是他就只好问了一些Java语言基础的问题,比如Integer和int的区别、GC的工作过程等;还问了Python的装饰器的原理,我就说了说面向切面编程相关的;最后面试官觉得不问C/C++不行,然后问我知不知道C/C++里的虚函数,被我一口回绝了。

最后问了一个字符串循环移动的算法题,算是一个经典题目了,直接口头说三次翻转就好了。最后问了面试官说岗位介绍里要求会C/C++,但我看招聘网站介绍里有提到Python,实际中是用哪些语言呢?面试官说C/C++主要用在游戏引擎那块,开发主要还是会用Python。虽然整个下来有些题没有答上来或者答错了,但整体来看还是答的很好的,反正对我来说已经发挥到极限了。面试完就感觉这个offer基本要到手了。

等了两周多才收到了网易游戏的offer, 但也算是我实习生招聘收到的第一个offer,也是很有分量的一个了,自此我的实习生招聘就有底气了。

腾讯

腾讯正式批次有统一的笔试,笔试用的北森的系统,奇烂无比,编程题测试用例要自己写,考试的时候线上编译器竟然还坏了。另外腾讯的题目也很奇葩,我一个Android开发选择题里十题就有九题是C/C++和Obj-C,简直是蒙着眼睛在选。不过幸运的是腾讯向来以笔试不刷人著称(我周围的几乎全都过了腾讯的笔试,但根据我之后在腾讯的leader说,其实还是有分数线的),笔试过了一两周就收到了南京现场面试的通知,在南京水游城假日酒店,部门是深圳SNG的增值产品部。

面试经历

正式一面大概40分钟,主要就是照着我的简历里的项目问,时不时拓展到计算机基础。和Android相关的似乎并没有问,拓展到的计算机基础知识比如就有HTTP是基于TCP还是UDP的、虚拟内存的意义和工作过程、死锁产生的条件等,问的很多,但都很基础。最后还问到了我简历上写的Android相机开发系列博客文章,问我怎么想到写文章分享的,我说因为自己就是这么踩坑一步一步走过来的,希望能帮到新手能少踩点坑,他表示赞同。最后他问了我一个算法题,就是链表转置,正好我前一天晚上刚看了的,就一口气写了出来。最后我问了面试官他是哪个部门的(因为我正式批还是投的上海IEG),面试官回答说是SNG的增值产品部。因为回答的很好,跟面试官全程有说有笑,所以感觉一面十拿九稳了。后来实习的时候,这个面试官就是我的leader了,也就是带领大约10个人的Android开发组组长。

一面当天晚上就收到了二面的通知。正式二面大概40分钟,主要让我介绍了我的项目,又出了几个题让我做。项目就是让我介绍我科研做的那个流式二维码数据传输系统,我介绍的时候面试官听的很仔细,让我详细介绍了拍到的二维码是如何定位、采样和识别转换成二进制流的。然后问我传输速率是多少,我大概说了个数结果面试官拿笔在算怎么得到的,然后出了点岔子,传输速率就算是理论值都达不到我说的数,场面一度十分尴尬,不过还好我说后来我们用了彩色二维码,传输速率成倍提高了,他也就没有继续追究。然后面试官问了我内网设备访问外网服务器的访问过程,我就仔细解释了NAT的工作原理。

然后问我假如现在有很多手机号,给出一个手机号如何能快速查找到这个手机号是否已经存在,我就用笔和纸仔细解释了Trie树;然后他问我为什么不直接用Hash,我又用笔和纸跟他详细说了Trie树相比Hash是如何节约空间的。最后他问了我一个概率题,大概就是三个蓝球一个红球求任意拿两个球只有一个红球的概率,初中的古典概型题;然而我当时脑袋抽风了竟然想不出来,就跟面试官说我穷举可不可以,他说能做出来就好,于是我就真开始穷举了,然后面试官就看不下去了,说你这么做要做到什么时候;不过在脑袋空白了几分钟后还是慢慢做出来了,有惊无险。

最后他就问到了我拿到了哪些offer、女朋友在哪、想在哪里工作、介不介意去深圳的问题,我说我更想去上海(因为腾讯在上海有分公司),实在不行也能去深圳。然后面试官就打电话给HR问后面的面试流程,听电话里大概意思是还有HR面,但HR明天才到南京。这时候我感觉二面也十拿九稳了,于是趁最后的机会直接问面试官说“不能今天就直接HR面吗”,面试官也老实回答说HR明天才到,安排你明天HR面。后来实习的时候,这个面试官就是我们的部门总监了,就是我leader的直接上级。

风平浪静中等到了第二天的HR面,让我见识到了套路可以玩的有多深。HR开始就跟我说,面试过程中可能她会看电脑敲键盘,但这并不代表她没听我说话,只是她在做面试记录而已。然后HR面开始,先自我介绍,然就就是问一些常规性的问题,比如生活中遇到的困难之类的。然后问我知道腾讯的哪些产品,让我说出十几个,最后简直都要说的山穷水尽了。然后问我最近在看哪些书,我说在看设计模式,然后简单介绍了下说有十几种设计模式,对我写代码能力有很大帮助;然后她问我具体有多少种,我说12种吧,然后她就让我说出这12种!于是她步步紧逼,我绞尽脑汁想,也只说出了8种,最后她妥协了,说“那就认为你是真的看了的吧”。

然后问我有哪些offer,我说有网易游戏offer在路上了,她就问我怎么看待网易游戏的offer、杭州和深圳怎么考虑,我当然是夸奖了腾讯一番。然后她问我可不可以看看我的手机上有哪些APP,然后我把手机给她,她仔细滑仔细看,最后也没说啥(当时我手机上腾讯的APP似乎只有QQ和微信,网易家的倒挺多,但是没有游戏)。总之呢,当时的气氛真是难以形容,就像一眼就被HR看穿了,根本躲不了。最后问了HR说最早啥时候有结果,HR说要等大概两周,等全国的线路面试结束回深圳了才会作出决定。

后来就是等了不到两周就收到了腾讯的实习offer,不过当时也已经收到了网易游戏的offer,然后纠结的觉都睡不好,这个后面再说。

总结

其实要轻松掌握很简单,要点就两个:

  1. 找到一套好的视频资料,紧跟大牛梳理好的知识框架进行学习。
  2. 多练。 (视频优势是互动感强,容易集中注意力)

你不需要是天才,也不需要具备强悍的天赋,只要做到这两点,短期内成功的概率是非常高的。

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。下面资料部分截图是我花费几个月时间整理的,诚意满满:特别适合有3-5年开发经验的Android程序员们学习。

FoS0ZF)】。**

[外链图片转存中…(img-lCzdiLAr-1621328218093)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值