主要让我介绍了我的项目,又出了几个题让我做。 项目就是让我介绍我科研做的那个流式二维码数据传输系统,我介绍的时候面试官听的很仔细,让我详细介绍了拍到的二维码是如何定位、采样和识别转换成二进制流的。然后问我传输速率是多少,我大概说了个数结果面试官拿笔在算怎么得到的,然后出了点岔子,传输速率就算是理论值都达不到我说的数,场面一度十分尴尬,不过还好我说后来我们用了彩色二维码,传输速率成倍提高了,他也就没有继续追究。
然后面试官问了我内网设备访问外网服务器的访问过程, 我就仔细解释了NAT的工作原理。然后问我假如现在有很多手机号,给出一个手机号如何能快速查找到这个手机号是否已经存在,我就用笔和纸仔细解释了Trie树;然后他问我为什么不直接用Hash,我又用笔和纸跟他详细说了Trie树相比Hash是如何节约空间的。
最后他问了我一个概率题, 大概就是三个蓝球一个红球求任意拿两个球只有一个红球的概率,初中的古典概型题;然而我当时脑袋抽风了竟然想不出来,就跟面试官说我穷举可不可以,他说能做出来就好,于是我就真开始穷举了,然后面试官就看不下去了,说你这么做要做到什么时候;不过在脑袋空白了几分钟后还是慢慢做出来了,有惊无险。最后他就问到了我拿到了哪些offer、女朋友在哪、想在哪里工作、介不介意去深圳的问题,我说我更想去上海(因为腾讯在上海有分公司),实在不行也能去深圳。
HR
面
接着面试官就打电话给HR问后面的面试流程,听电话里大概意思是还有HR面,但HR明天才到南京。这时候我感觉二面也十拿九稳了,于是趁最后的机会直接问面试官说“不能今天就直接HR面吗”,面试官也老实回答说HR明天才到,安排你明天HR面。后来实习的时候,这个面试官就是我们的部门总监了,就是我leader的直接上级。
风平浪静中等到了第二天的HR面,让我见识到了套路可以玩的有多深。HR开始就跟我说,面试过程中可能她会看电脑敲键盘,但这并不代表她没听我说话,只是她在做面试记录而已。然后HR面开始,先自我介绍,然就就是问一些常规性的问题,比如生活中遇到的困难之类的。
然后问我知道腾讯的哪些产品,让我说出十几个,最后简直都要说的山穷水尽了。然后问我最近在看哪些书,我说在看设计模式,然后简单介绍了下说有十几种设计模式,对我写代码能力有很大帮助;然后她问我具体有多少种,我说12种吧,然后她就让我说出这12种!于是她步步紧逼,我绞尽脑汁想,也只说出了8种,最后她妥协了,说“那就认为你是真的看了的吧”。
然后问我有哪些offer,我说有网易游戏offer在路上了,她就问我怎么看待网易游戏的offer、杭州和深圳怎么考虑,我当然是夸奖了腾讯一番。然后她问我可不可以看看我的手机上有哪些APP,然后我把手机给她,她仔细滑仔细看,最后也没说啥(当时我手机上腾讯的APP似乎只有QQ和微信,网易家的倒挺多,但是没有游戏)。总之呢,当时的气氛真是难以形容,就像一眼就被HR看穿了,根本躲不了。最后问了HR说最早啥时候有结果,HR说要等大概两周,等全国的线路面试结束回深圳了才会作出决定。
小提示:其实很多人都比较在意技术面,其实HR面也是一个重点,毕竟工资能不能谈高一点,部门是不是自己合宜,你的为人处世,处理事情能力,人情世故!都会在HR面中体现出来!
我在这里准备了一份,大厂HR面试大全,希望可以帮助到大家,需要的可以查看我的交流地 【点击我,即可获得!】
进大厂所需知识点
看完我面试腾讯的经历,希望对你们能有帮助,现在我来总结一下大厂面试题所需知识点,和需要注意的一些情况!
知识点,我把他体系化了,做成了一张思维脑图,建议大家保存,收藏对照自己学习路线,进行学习查漏补缺,建立自己的知识体系,这是架构师的基础!
Android 面试题知识框架
大厂Android架构师筑基必备
包含知识点:1.深入 Java 泛型,2.注解深入浅出,3. 并发编程,4.数据传输与序列化,5. Java 虚拟机原理,6.反射与类加载,7.高效 IO
需注意
- 腾讯笔试题倾向考察C/C++
无论投的是哪个岗位,腾讯的笔试题都会重点考察C/C++的知识,即使所投岗位不要求C/C++基础。
- 不要被腾讯笔试题吓到
虽然腾讯笔试题考察C/C++很变态,但即使是编程题一个字都没写,也都有很大概率收到腾讯的面试通知。
- 腾讯网申时“服从工作地点调剂”则很大可能分到深圳
腾讯虽然在北京、上海和成都等都有分公司,但岗位都比较少,而每年招聘的绝大部分岗位都在深圳,所以选择“服从工作地点调剂”的,很大可能分到深圳去。比如,南京离上海近,离深圳十万八千里,但也是有相当大概率分到深圳的。
- 不要对实习转正后调换工作地点抱太大期望
实习转正后对应转正的岗位也是当前实习的岗位,即在当前组内,所以不太可能可以调换工作地点。如果坚持想要调换工作地点,可能需要按秋招流程重新来一遍。(腾讯是这么干的,但国内互联网公司大同小异)
- 不要认为实习一定能转正
诸如阿里、腾讯和百度等公司的实习留用率肯定不是100%,所以不要怀着实习一定能拿到秋招offer的心态去实习。
万事俱备
- 首先是关于面试岗位的问题。
虽然面试问到的问题五花八门,但很多问题都和面试的岗位关联性很大,比如应聘Android开发不会被问到Spring,应聘Java后台开发不会被问到Android。所以为了减少自己的工作量(也没那么多精力去同时准备不同岗位),就要先确定好自己要投的岗位。
然后就搜了不同岗位的面试经历帖子,看了看自己能答多少,发现自己对哪个岗位都不擅长,因为有一些Android开发基础,倒是会一点点Android开发相关的问题。接下来想了想虽然Android开发校招招的人少,但可能和我竞争的人更少,因为绝大部分同学都没接触过Android开发,所以就决定选择Android开发作为我以后要投的岗位了。
- 接下来是关于面试题目的问题。
面试问的问题大概就是计算机基础、Java语言基础、Android开发和算法题了,下面展开来说,各个击破。
先说计算机基础题。计算机基础题是所有面试经历帖里面可以公用的,很快我就总结出来了规律:作为经历过考研的我,一眼就看出来计算机基础题基本都是考研知识点的题。比如,数据结构的二叉树、图、查找、排序章节就覆盖了众多数据结构相关的面试题,而计算机网络的存储器尤其是cache章节、虚拟存储器的段表和页表就完整覆盖了面试问到的cache相关的题,操作系统的进程管理算是面试经常问到的问题,而计算机网络相关的面试题肯定跑步出计算机网络教材。所以我就直接来了个自上而下的复习:买了本计算机专业课考研全书,从后到尾按顺序梳理可能的知识点然后整理出来。
再说Java语言基础。
因为Java存在数量巨大的程序员,所以很容易就能找到Java语言的面试题大全。但想要看完并记下这所有的面试题是个挑战,所以需要删掉一些一定不会被问到的面试题。Android开发除Java语言基础外并不会涉及到太多其他的Java套件,比如Java网络开发就肯定不会问到,这时就可以放心大胆把JDBC、JSP、Spring等砍掉,减少了许多工作。
然后是Android相关的面试题。
最开始看Android相关的面试经历帖一头雾水,觉得问的知识点太多了完全答不上来,但综合了十多个面试经历帖后发现问的很多问题都是重合的,比如经常问Activity的生命周期、Service的生命周期、Activity之间的通信、消息传递机制等。所以也采用类似复习Java语言的方法,收集各种各样的Android开发面试题。
最后还要说说一些其他的面试题
比较典型的是数据库和设计模式,因为Android开发问到数据库和设计模式的概率比较小,我也就只整理了一些简单的面试题,足够应付面试了。
以上这计算机基础、Java语言基础和Android开发面试题等的收集和整理工作就贯穿了我从实习招聘开始到秋招结束的始终,经常有新的题目被我收集到,也经常有老的题目被我整理得更加系统。为了更加方便和完整地收集和整理,我把整个收集整理过程都用Git来作了版本控制,并且分享在了GitHub上。
- 需要相关知识点可以查看我的【GitHub】,对于已经掌握的可以忽略以节省时间。
下面说说算法题。
算法题可能并不是每轮面试都会出现,但一旦出现可能就是生死攸关的——做出来了面试通过,做不出来面试不通过。那么算法题该怎么准备呢?当然就是刷题啦,这里我选的就是知名刷题网站LeetCode了,而刷题顺序的话就是按通过率由高到低排序了一个个刷。
并且,我一开始就制定规则:每题都要使用Python、Java和C++三种语言做出来,因为Python适合在纸上手写、Java在在线写代码时常用、C++则是以备不时之需。刷题是一个很消耗时间的事情,但另一方面,刷题又是一个很好的利用碎片时间的方法——做出来一题可能只需要花十几分钟。另外,LeetCode里Easy、Medium和Hard的最后面几题总是会非常难,这时候就可以自己权衡还有没有刷这些题的必要啦,反正我是选择性放弃了。
刷题也贯穿了我实习招聘开始到秋招结束的始终,而刷题的主战场集中在三月初到六月底,这段时间几乎是有空就刷题,490+刷了400题左右;而接下来的七月初一直持续到秋招结束则主要在复习和整理刷过的题,在我的GitHub上也有记录。
最后
小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
资料⬅专栏获取
024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**
[外链图片转存中…(img-nHvkMieh-1719115249559)]一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
资料⬅专栏获取