二本学渣考研失败,音视频时代你还不会NDK开发?含小米、腾讯、阿里

本文主要是介绍二本学渣考研失败,音视频时代你还不会NDK开发?含小米、腾讯、阿里,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

Hi~,我是 2020 届物联网专业毕业生,现就读于杭州。谨以此文来记录我的秋招以及入门前端以来的学习历程,如有错误,希望大家能及时提出!

面试情况

前前后后一共面试了 14 家公司的前端岗,按城市划分为:

  • 北京:小米,京东,美团,百度,去哪儿
  • 杭州:阿里,网易,微店,字节跳动
  • 上海:七牛云,哈啰出行
  • 深圳:腾讯,富途,乐信

历时4个月,最终收获了 小米、京东、微店、字节跳动 的offer

面试经历

网易游戏实习生招聘很神奇的是整个就一轮面试,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,然后纠结的觉都睡不好,这个后面再说。

总结

【Android 详细知识点思维脑图(技能树)】

image

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

由于篇幅有限,这里以图片的形式给大家展示一小部分。

详细整理在腾讯文档:Android架构视频+BAT面试专题PDF+学习笔记​

频+BAT面试专题PDF+学习笔记](https://docs.qq.com/doc/DSkNLaERkbnFoS0ZF)​**

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

这篇关于二本学渣考研失败,音视频时代你还不会NDK开发?含小米、腾讯、阿里的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/335549

相关文章

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

PyQt5 GUI 开发的基础知识

《PyQt5GUI开发的基础知识》Qt是一个跨平台的C++图形用户界面开发框架,支持GUI和非GUI程序开发,本文介绍了使用PyQt5进行界面开发的基础知识,包括创建简单窗口、常用控件、窗口属性设... 目录简介第一个PyQt程序最常用的三个功能模块控件QPushButton(按钮)控件QLable(纯文本

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

SpringBoot整合Dubbo+ZK注册失败的坑及解决

《SpringBoot整合Dubbo+ZK注册失败的坑及解决》使用Dubbo框架时,需在公共pom添加依赖,启动类加@EnableDubbo,实现类用@DubboService替代@Service,配... 目录1.先看下公共的pom(maven创建的pom工程)2.启动类上加@EnableDubbo3.实

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间