睡梦中面试腾讯 pcg 移动端开发, 一+二+三+hr面(已oc)
前言
6.12日早上电话突击面试,当时我还在睡觉,迷糊中接到了电话,一开始以为他只是和我确认时间,没想到问完信息之后直接开始问问题了,我当时没反应过来,说我现在不太方便,等20分钟再电话面的。我没想到这居然就是一面
面完就约了16号的二面视频面,面完等了几天接到了21号的三面电话面通知,然后22号接到了23号hr面的通知,面完之后3天后也就是26号接到了oc
以下是我被问到的绝大部分问题,有那么几个实在想不起来了,不分先后
android基础:
- activity的生命周期
- activity的启动模式
- service的生命周期
- android进程和线程的关系
- android进程间的通信方式
- Handler机制简述,作用,要素,流程
- Handler中消息队列为空时会发生什么情况
- looper,消息队列,handler的数量对应关系,为什么
- 消息队列delay之后会发什么
- 内存泄露是什么,为什么会发生,常见的内存泄露的例子,怎么解决
- 内存泄露和内存溢出的区别,什么会导致内存溢出
- 什么是ANR?什么情况会发生?如何避免?怎样定位?
- 设计模式,体现在android的哪些地方
java基础:
- Hashmap各种,基本都问到了
- Arraylist和linkedlist
- 进程和线程的关系
- 进程间通信方式
- 线程间通信方式
- 死锁
- 实现线程安全的方式
- synchronized关键字,底层,使用方式
- synchronized和lock的区别
- volatile和synchronized的区别
- jvm结构,作用,各存放了什么数据
- 运行时常量池
- 讲讲对gc的理解
- 4种引用,强软弱虚
- gc算法,分代策略
- 介绍下cms收集器(g1)
- 类加载过程
- 双亲委派模型介绍,原理,好处
网络:
- 三次握手,四次挥手
- tcp和udp的区别,传输数据时的区别,怎么传输
- tcp可靠性
- 滑动窗口,流量控制,拥塞控制(4种方法)
- 输入url到显示主页的过程(基本每面都问)
- http和https
- https数据传输加密过程(基本每面都问)
- 什么是网络字节序,为什么可以保证在传输时能够被正确解释
算法:
- 海量数据topk问题,要详细讲(小根堆怎么实现的,快排怎么实现的)
- 十进制转十六进制
- 输入一篇文章,再输入若干关键词,输出这些关键词至少都出现了一次的最小范围
最后:
强烈建议多看源码,特别是比较关键的,很多问题都是从源码里抠出来的,比如handler。。。
因为有两面都是电话面,所以代码实现基本集中在视频面,3面是让口述的算法,要详细原理实现的那种
其他的我觉得都算ok,面试官挺好的,特别是3面面试官,我当时还调侃他腾讯双休咋你还是周日面试的呢
自己也看了很多别人的面经,特别是海量数据topk问题,3面前看到一个面经有提到,然后去了解了下,3面真被问到了,不然就扑街了,所以也把自己的面经和学习方法分享出来,给后来人留点有用的东西
祝愿大家都能顺利通过面试,拿到理想的offer
学习:
读懂源码和原理,自己也能写;
一定要通过烂笔头记录下来,比如博客;
不断完善自己的知识体系,要有广度,而且在某些方面还要有深度;
通过实战不断磨练
以下是我学习的资料,供大家参考,有需要的可以在文末文末免费领取
1.2020大厂面试高频知识点
- 图片
- 网络和安全机制
- 数据库
- 插件化、模块化、组件化、热修复、增量更新、Gradle
- 架构设计和设计模式
- 性能优化
- Android Framework
- Android优秀三方库源码
2.Jetpack架构组件从入门到精通
- Android Jetpack - Navigation
- Android Jetpack - Data Binding
- Android Jetpack - ViewModel & LiveData
- Android Jetpack - Room
- Android Jetpack - Paging
- Android Jetpack - WorkManger
- Android Jetpack架构组件之Lifecycle
- Android Jetpack Compose 最全上手指南
3.Framework精编内核解析
主要内容包含:
- 深入解析Binder
- 深入解析Handler
- Dalvik VM 进程系统
- 深入解析 WMS
- PackagerManagerService
4.Kotlin强化实战(附Demo)
- 第一章 Kotlin入门教程
- 第二章 Kotlin 实战避坑指南
- 第三章 项目实战《Kotlin Jetpack 实战》
- 从一个膜拜大神的 Demo 开始
Kotlin 写 Gradle 脚本是一种什么体验?
Kotlin 编程的三重境界
Kotlin 高阶函数
Kotlin 泛型
Kotlin 扩展
Kotlin 委托
协程“不为人知”的调试技巧
图解协程:suspend
5.Android设计思想解读开源框架
- 热修复
- 插件化
-组件化框架设计 - 图片加载框架
- 网络请求框架
- RXJava 响应式编程框架设计
- IOC 架构设计
- Android架构组件Jetpack
6.NDK模块开发
- NDK 模块开发
- JNI 模块
- Native 开发工具
- Linux 编程
- 底层图片处理
- 音视频开发
- 机器学习
7.Android源码解析
“编程语言是程序员的表达的方式,而架构是程序员对世界的认知”。所以,程序员要想快速认知并学习架构,读源码是必不可少的。阅读源码,是解决问题 + 理解事物,更重要的:看到源码背后的想法;程序员说:读万行源码,行万种实践。
主要内含微信 MMKV 源码、AsyncTask 源码、Volley 源码、Retrofit源码、OkHttp 源码等等。
以上这些内容均免费分享给大家,需要完整版的朋友,点这里可以看到全部内容。或者点击 【这里】 查看获取方式。
睡梦中面试腾讯 pcg 移动端开发, 一+二+三+hr面(已oc)相关推荐
- 2019暑期实习面试 - 腾讯PCG移动客户端iOS开发面试
基本信息 事业群:PCG 岗位:移动客户端开发(iOS.Objective-C语言开发) 实习时间:6月份之后的暑期实习 面试日期:3月30日 - 3月31日 offer call:4月10日(看到很 ...
- H5移动端开发基础(三)自定义滚动条、实战-音悦台
自定义滚动条.实战-音悦台 自定义滚动条 js封装 transform.js tween.js scrollBar.js 音悦台 适配 样式 html js 自定义滚动条 *{margin: 0;pa ...
- 2021腾讯魔方工作室暑期实习一面+二面+HR面(已OC)
一面: 36min 项目介绍 在其中做了什么,遇到什么难点(AI,回答动态寻路) 介绍一下行为树有哪些结点 事件通知中心怎么实现 C++多态怎么实现 虚函数实现机制 Map和hashmap 拷贝构造函 ...
- cvte面试经验Java_CVTE Java Web后台开发 一\二面面经
CVTE Java后端开发 一面 1面是突然的电话面,时长57min,因为是突袭,所以没有录音,只能靠回忆来写写了. 1.自我介绍 2.简单的对项目做个介绍. 3.为什么要使用JWT?为什么不适用se ...
- 如何提高码农产量,基于ASP.NET MVC的敏捷开发框架之移动端开发随笔二
前言 在前一篇文章中我已经做过开篇,接下来的随笔会详细讲一下我们的开发框架是如何实现的,专业的事由专业的人来讲,以后就由我们的高级码农小李英文名查尔斯和他的师父厂长(因为姓陈,酷爱摄影,我们的文艺片都 ...
- uni-app卖座电影多端开发纪实(三):MVC
@引子 这一部分就与纯Vue开发毫无二致了! 这里分别用mock数据和真实后台数据举例 @数据层开发(mock) 准备一个mock数据 mock/cinemas.json {"status& ...
- 面试腾讯Java后台岗,处女面秒挂,17天后竟然拿下字节跳动offer
BAT一直是互联网人包括程序员梦寐以求的公司,可相对这三个公司的进入门槛很高,无奈只能望门兴叹,所以只能苦练技能才能有机会去敲开BAT的大门.下面是一位Java程序员的亲身经历,面试腾讯PCG部门处女 ...
- 2016届360公司PHP服务端开发笔试和面试之所得所感
这是一篇叙述自己在360公司参加笔试和面试的过程,可能面试的职位并不是你所学的方向,但是如果你能从中学到些什么或者吸取我的教训,那么作者就非常知足了.本着"学习别人是怎么失败的,活着出来的人 ...
- 移动端开发-响应式页面
声明 现在开发中,响应式页面使用地会比较少.今天对我们来说,最大的收获是: 学会如何去使用前端 UI 框架. 媒体查询 Bootstrap 框架,学会怎么去用,而不是怎么去做东西,因为后面有更好的框架 ...
最新文章
- SAP WM初阶LQ02报错 - Movement Type 901 for manual transfer orders does not exist -
- GPRS流量计算方法(TCP/IP)
- 管理神话2:专家只有权这样做
- android中几种定位方式详解
- Gym - 101471D Money for Nothing(决策单调性+分治+贪心)
- 【MySQL】MySQL出现Waiting for table metadata lock的原因、解决方法
- 数字签名、数字证书、对称加密算法、非对称加密算法、单向加密(散列算法)——Web网络系列学习笔记
- 代码混淆android.mk,利用ollvm进行代码混淆
- 离线环境下安装pyhanlp
- linux权限设定的判定,linux中如何通过脚本判定文件的群组权限
- python基本网络爬虫代码_Python实现网页爬虫基本实现代码解读
- oracle 安全备份与rman_Oracle RMAN备份与还原注意事项
- Mac卸载Anaconda
- 计算机系统变慢的原因,计算机系统运行速度变慢4大原因
- 尴尬!亚马逊的AI情绪识别软件竟然混淆情感表达
- 百分点感知智能实验室:声纹识别技术发展及未来趋势研究
- 网络攻防技术——XSS实验
- tkmybatis 子查询_【10/21】南池袋送餐桌和椅子 收纳盒子 洗衣机 | 下落合站送洗衣机...
- 浏览器汇总、可信浏览器
- IllegalArgumentException 异常