睡梦中面试腾讯 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. 读懂源码和原理,自己也能写;

  2. 一定要通过烂笔头记录下来,比如博客;

  3. 不断完善自己的知识体系,要有广度,而且在某些方面还要有深度;

  4. 通过实战不断磨练

以下是我学习的资料,供大家参考,有需要的可以在文末文末免费领取

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)的主要内容,如果未能解决你的问题,请参考以下文章

腾讯 | 技术 | PCG推荐中台--C++后台开发工程师

腾讯面试总结——iOS开发

Mdebug:基于React开发的移动web调试工具

腾讯如何避免 CDN 为 PC 端缓存移动端页面

二.移动端组件库

搜狗并入腾讯幕后:核心高管只余一人,PCG全力备战字节