睡梦中面试腾讯 pcg 移动端开发, 一+二+三+hr面(已oc)
Posted 小圆爱吃糖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了睡梦中面试腾讯 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)的主要内容,如果未能解决你的问题,请参考以下文章