Android开发经验谈Android开发Android技术知识

Android开发工程师,如何构建面试试题?(建议收藏)

2022-05-19  本文已影响0人  程序老秃子

前言

Android 工程师的竞争环境越来越激烈,但 Andorid 开发仍然是一个刚需的工种,行业对人才的需求从未终止,但与此同时也对我们提出了更高的要求。如果你仍然只是在日常开发过程中复制粘贴,或者仍以完成一个项目需求为唯一目的,只是掌握了如何去调用某个 API 或者数据结构来实现某个功能,已经不能算是合格的工程师了

对于 Android 开发者来说,要成为优秀的 Android 开发工程师,不只能够让你在工作中更加游刃有余,同样会让你在职业发展中面临更多优质的机遇

Android项目构建面试题分享

git常用命令有什么?

● git init:仓库的初始化

● git status:查看当前仓库的状态

● git diff:查看仓库与上次修改的内容

● git add:将文件放进暂存区

● git commit:提交代码

● git clone:克隆代码

● git bransh:查看当前分支

● git checkout:切换当前分支

git工作流你怎么理解?

● fork/clone(主流)fork:将别人的仓库代码fork到自己的仓库上clone:克隆下自己仓库的代码update、commit:修改代码并提交到自己的仓库push:提交到自己的仓库pull request:请求添加到别人的仓库

● clone

proguard是什么?

● ProGuard工具是用于压缩、优化和混淆我们的代码,其主作用是移除或混淆代码中无用类、字段、方法和属性

proguard技术功能有什么?

● 压缩

● 优化

● 混淆

● 预检测

一句话概况proguard工作原理

● 将无用的字段或方法存入到EntryPoint中,将非EntryPoint的字段和方法进行替换

为什么要混淆?

● 由于Java是一门跨平台的解释性语言,其源代码被编译成class字节码来适应其他平台,而class文件包含了Java源代码信息,很容易被反编译

annotationProcessor与compileOnly的区别

● annotationProcessor与compileOnly都是只编译并不打入apk中

● annotationProcessor:编译时生成代码,编译完就不需要了

● compileOnly:有重复的库时,可以剃除重复库,只保留一个库

AsyncTask面试题分享

AsyncTask是什么?

● 它本质上就是一个封装了线程池和Handler的异步框架

AsyncTask的工作原理

● Android进阶——多线程系列之异步任务AsyncTask的使用与源码分析

AsyncTask引起的内存泄漏

● 原因:非静态内部类持有外部类的匿名引用,导致Activity无法释放

● 解决:AsyncTask内部持有外部Activity的弱引用AsyncTask改为静态内部类AsyncTask.cancel()

AsyncTask生命周期

● 在Activity销毁之前,取消AsyncTask的运行,以此来保证程序的稳定

AsyncTask结果丢失

● 由于屏幕旋转、Activity在内存紧张时被回收等情况下,Activity会被重新创建,此时,旧的AsyncTask持有旧的Activity引用,这个时候会导致AsyncTask的onPostExecute()对UI更新无效

AsyncTask并行or串行

● AsyncTask在Android 2.3之前默认采用并行执行任务,AsyncTask在Android 2.3之后默认采用串行执行任务

● 如果需要在Android 2.3之后采用并行执行任务,可以调用AsyncTask的executeOnExecutor()

《Android 高级开发面试题以及答案整理》

下面这份资料我从2019年春招开始,就会将各博客、论坛。网站上等优质的Android开发中高级面试题收集起来,然后全网寻找最优的解答方案;每一道面试题都是百分百的大厂面经真题+最优解答,包知识脉络 + 诸多细节;节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习

资料中包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目,熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率

有需要的同学,可以顺手给我点赞评论支持一下

内容如果对大家有用的话,可以转发分享一下

获取方式点击: 《Android 高级开发面试题以及答案整理》

《Android 高级开发面试题以及答案整理》

由于篇幅有限,仅展示部分内容

一、Handlar 相关知识

二、Avtivity 相关

三、Frageant 相关

四、Service 相关

五、Android布局优化之ViewStub、include、 merge

获取方式点击: 《Android 高级开发面试题以及答案整理》

技术是无止境的,你需要对自己提交的每一行代码、使用的每一个工具负责,不断挖掘其底层原理,才能使自己的技术升华到更高的层面

Android 架构师之路还很漫长,与君共勉

PS:有问题欢迎指正,可以在评论区留下你的建议和感受;

欢迎大家点赞评论,觉得内容可以的话,可以转发分享一下

上一篇 下一篇

猜你喜欢

热点阅读