首页 > 技术文章 > Android高级工程师必备知识!阿里,腾讯,PDD等大厂Android面试真题,安卓开发指南

xiaolong1 2021-08-25 17:10 原文

背景

坐标广州,五年iOS开发经验。

最近面试了一位工作12年的程序员,

这位老哥有3年java开发经验,2年H5,7年iOS开发经验,简历上写着精通Java,iOS,熟悉H5开发。没有具体的技术点。

说实话我很期待这位老哥的面试,于是让人事邀约了他。

老哥面试的气场很足,我也很尊敬他,一大波的自我介绍之后,我们进入了正题。

我问了他Runloop,他说几乎没用过Runloop,于是我给他举了个小例子,老哥给我的答案是百度可以解决。

于是我有问了他KVC,老哥还是说不清楚,于是我问了最基础的copy,weak等几个关键词,依旧说不清楚,老哥依旧那么强势霸气,他给到我的感觉就是“为啥都会做,你别问这些没用的”。

看着他简历上写着,精通安卓iOS开发,熟悉跨平台开发,js交互,我问了一句了解Flutter吗?他说不知道没听过,最后问了一句期望薪资他说25k,我不知道问什么了,于是匆匆结束了面试。

二、面试

下面主要列举下在面试过程中遇到过的剑指 offer 原题或者类似问题,大家应该清楚,面试过程中遇到原题不要太高兴,而刷剑指 offer 就能让遇到原题的可能性大大增加。

1.字节跳动春招

面试题 68 - II. 二叉树的最近公共祖先

2.京东金融电话面试

面试题 10- II. 青蛙跳台阶问题
面试题 13. 机器人的运动范围

3.猿辅导面试

面试题 22. 链表中倒数第 k 个节点
面试题 09. 用两个栈实现队列

4.百度面试

面试题 25. 合并两个排序的链表

5.腾讯面试

面试题 24. 反转链表
面试题 34. 二叉树中和为某一值的路径
面试题 16. 数值的整数次方

6.快手面试

面试题 35. 复杂链表的复制

7.微策略面试

面试题 36. 二叉搜索树与双向链表

8.宜信面试

面试题 68 - II. 二叉树的最近公共祖先

三、为何推荐剑指 Offer ?

开始刷题前,学长们清一色地向我力荐剑指 Offer 。一年以来,我已将剑指 Offer 刷了数遍,这使我在科研学习、秋招求职中受益匪浅。总体上看,剑指 Offer 或许是最友好、最适合求职初学者的题库之一,优点如下:

1. 知识全面
LeetCode 的题库庞大,以下每个分类都能筛选出数百道问题。而由于精力有限,我们只能做完部分题目。因而我们需要解决两个难题:从哪个分类开始做题?每个分类做哪些题?

数据结构: 数组、栈、队列、字符串、链表、树、图、堆、哈希表、……
算法: 动态规划、回溯算法、查找算法、搜索算法、贪心算法、分治算法、位运算、双指针、排序、模拟、数学、……
剑指 Offer 的短短 75 道题,涵盖了以上所有分类,能够帮助我们 快速入门 。

2. 题目典型
做典型题目可以事半功倍,无论是对于面试准备,还是知识积累。剑指 Offer 原题活跃在各大公司的笔面试中。根据笔者亲身经历,面试手撕算法 的遭遇概率较高,笔试 相对较低(但有许多原题的变种)。

3. 资料完备
对于初学者来说,遇到新的题目常常无从下手。因此,优良的题解资料尤其重要,其很大程度上 决定了刷题效率和质量 。剑指 Offer 热度较高,无论是在 LeetCode 的题解区和评论区,还是在搜索引擎和各大平台中,都可以找到丰富的学习资料。

剑指 Offer 系列题解
经过笔者近三个月的日夜奋斗,已更新 近 70 道原创题解 ,希望可以帮助到像我当初同样一头雾水的同学。

题解中均介绍最优解决方法之一(部分题目介绍多解法),内容包括:

解题思路: 介绍解法的来龙去脉,解法往往是从简单的想法、数据结构的定义、算法的原理导出的。
算法流程: 可理解为详细的代码注释,致力于帮助各位养成结构化、模块化的代码编写习惯。
复杂度分析: 时间和空间复杂度是评价解法优劣性的最有力的尺度之一,且面试经常会被问到。
清晰配图: 帮助各位理解解法的重难点,并提供测试样例的可视化运行。

这里我就分享一份资料,希望可以帮助到大家提升进阶。

内容包含:Android学习PDF+架构视频+面试文档+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 这几块的内容。分享给大家,非常适合近期有面试和想在技术道路上继续精进的朋友。

如果你有需要的话,可以点击Android学习PDF+架构视频+面试文档+源码笔记获取免费领取方式

喜欢本文的话,不妨给我点个小赞、评论区留言或者转发支持一下呗~

img

推荐阅读