写点什么

好不容易撑过了腾讯三面!却因为虚报工资被刷了,挥泪整理面经

用户头像
Android架构
关注
发布于: 刚刚

2.硬币兑换问题 [算法]


3.车的通过问题,一条路上,30 分钟内看到有车通过的概率是 90%,那么 5 分钟之内概率是多少


4.图的展现形式


5.全球货币转换功能的代码


6.给你一个整数数组 nums ,请你求出乘积为正数的最长子数组的长度


这是我在某论坛看到的故事,我知道我们很多程序员都有一个大厂梦,但如何针对大厂进行面试准备,如何和 HR 聊天,比如谈钱等等,很多程序员就显得手足无措了。本文就根据自己一些见解谈谈这些问题。


什么是合适的候选者




在介绍如何面试之前,这里先从公司的角度来分析:”到底什么样的候选者是公司所需要的技术人才?“就我在现在这家公司的一些面试官经验来说,一个具有如下特征的 Android 程序员是我们所需要的:


  1. 具有本科及以上学历(名校更好)

  2. 具有 2 年及以上的工作经验(名企更好)

  3. 技术扎实,有技术追求和工作激情

  4. 良好的沟通和协作


在上面的四条中,其中第 3 条是最为重要的,即技术,技术是决定能否通过面试的最重要最直接的原因。一般来说,越是大公司,其对技术的要求就越高,尽管部分岗位并不需要那么好的技术,但是为了对候选者做出区分,其面试过程仍然会面试一些稍微深入的话题,相信大家都有所体会。


除了技术以外,良好的沟通和协作能力也是比较重要的。也许很多人觉得这个比较抽象,心里会想:”你怎么知道我有没有良好的沟通和协作能力呢“?其实这个问题并不难,面试过程就是一次沟通过程,如果不能和面试官很好地沟通,这就说明候选者的沟通有问题。如何很好地和面试官沟通呢?给如下几点建议:


  • 礼貌和尊重。

  • 听懂面试官的问题并直接回答。

  • 谦虚谨慎、态度友好。


下面对学历和工作经验做一些说明,学历并不是一个硬性要求,即使候选者学校不怎么好也是有可能通过面试的,这就要求候选者技术非常扎实。而工作经验,之所以是 2 年以上,这是因为社会招聘的对象一般都是有一定工作经验的,而 1 年工作经验略短了点,拿百度来说,社招的最低级别一般为 T4,差不多刚好就是 2 年经验左右。


这里做下总结,理想的候选者应该是这样的:


  1. 扎实的技术功底,有技术追求(必须)

  2. 态度、沟通和为人都很好(必须)

  3. 2 年左右工作经验(基本必须)

  4. 名校、名企、高学历(非必须,加分项)


基本来说,满足 1 和 2 就能通过面试,3 和 4 都是次要条件,但是一般来说不满足 3 就很难满足 1,不要说特例,木有参考意义。


由此可见,技术是面试结果的决定因素。那么到底技术掌握到什么程度才能比较轻松地通过面试呢?说了那么多,好像和 Android 没有一点关系,下面就开始以 Android 为例来分析下面试过程所需的技术。


Android 面试技术知识梳理目录




再来看看大厂的一些常规面试题



由于文章内容比较多,篇幅不允许,部分未展示内容以截图方式展示 。点击这里免费下载获取!


Handler 相关知识,面试必问!




常问的点:


Handler Looper Message 关系是什么?


Messagequeue 的数据结构是什么?为什么要用这个数据结构?


如何在子线程中创建 Handler?


Handler post 方法原理?


Android 消息机制的原理及源码解析


Android Handler 消息机制



Activity 相关




启动模式以及使用场景?


onNewIntent()和 onConfigurationChanged()


onSaveInstanceState()和 onRestoreInstanceState()


Activity 到底是如何启动的


启动模式以及使用场景


onSaveInstanceState 以及 onRestoreInstanceState 使用


onConfigurationChanged 使用以及问题解决


Activity 启动流程解析


![](https://img-blog.csdni


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


mg.cn/img_convert/667c10d5b7037079257df52969203c90.png)


Fragment




Fragment 生命周期和 Activity 对比


Fragment 之间如何进行通信


Fragment 的 startActivityForResult


Fragment 重叠问题


Fragment 初探


Fragment 重叠, 如何通信


Fragment 生命周期



Service 相关




进程保活


Service 的运行线程(生命周期方法全部在主线程)


Service 启动方式以及如何停止


ServiceConnection 里面的回调方法运行在哪个线程?


startService 和 bingService 区别


进程保活一般套路


关于进程保活你需要知道的一切



Android 布局优化之 ViewStub、include、merge




什么情况下使用 ViewStub、include、merge?


他们的原理是什么?


ViewStub、include、merge 概念解析


Android 布局优化之 ViewStub、include、merge 使用与源码分析



BroadcastReceiver 相关




注册方式,优先级


广播类型,区别


广播的使用场景,原理


Android 广播动态静态注册


常见使用以及流程解析


广播源码解析



AsyncTask 相关




AsyncTask 是串行还是并行执行?


AsyncTask 随着安卓版本的变迁


AsyncTask 完全解析


串行还是并行



Android 事件分发机制




onTouch 和 onTouchEvent 区别,调用顺序


dispatchTouchEvent, onTouchEvent, onInterceptTouchEvent 方法顺序以及使用场景


滑动冲突,如何解决


事件分发机制


事件分发解析


dispatchTouchEvent, onTouchEvent, onInterceptTouchEvent 方法的使用场景解析



Android View 绘制流程




简述 View 绘制流程


onMeasure, onlayout, ondraw 方法中需要注意的点


如何进行自定义 View


view 重绘机制


  • Android LayoutInflater 原理分析,带你一步步深入了解 View(一)

  • Android 视图状态及重绘流程分析,带你一步步深入了解 View(二)

  • Android 视图状态及重绘流程分析,带你一步步深入了解 View(三)

  • Android 自定义 View 的实现方法,带你一步步深入了解 View(四)



Android Window、Activity、DecorView 以及 ViewRoot




Window、Activity、DecorView 以及 ViewRoot 之间的关系



Android 的核心 Binder 多进程 AIDL




常见的 IPC 机制以及使用场景


为什么安卓要用 binder 进行跨进程传输


多进程带来的问题


  • AIDL 使用浅析

  • binder 原理解析

  • binder 最底层解析

  • 多进程通信方式以及带来的问题

  • 多进程通信方式对比



Android 高级必备 :AMS,WMS,PMS




AMS,WMS,PMS 创建过程


  • AMS,WMS,PMS 全解析

  • AMS 启动流程

  • WindowManagerService 启动过程解析

  • PMS 启动流程解析



Android ANR




为什么会发生 ANR?


如何定位 ANR?


如何避免 ANR?


什么是 ANR


如何避免以及分析方法


Android 性能优化之 ANR 详解



Android 内存相关




注意:内存泄漏和内存溢出是 2 个概念


什么情况下会内存泄漏?


如何防止内存泄漏?


  • 内存泄漏和溢出的区别

  • OOM 概念以及安卓内存管理机制

  • 内存泄漏的可能性

  • 防止内存泄漏的方法



Android 屏幕适配




屏幕适配相关名词解析

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
好不容易撑过了腾讯三面!却因为虚报工资被刷了,挥泪整理面经