一线互联网移动架构师360°全方面性能调优,算法太TM重要了

前言

本人今年25岁,毕业之后进入一家小型的互联网公司工作,在这原公司呆了3年,直至今年才有了跳槽的想法。

每个程序员 都拥有大厂梦,我也不例外,在小公司待久了,感觉人会荒废掉,太轻松,没有压迫感。因为有一位前辈的华为内推,所以我直接去了华为面试。

以下分享这次面试华为的面试题,由于文章篇幅原因,只是把面试题列了出来,详细的答案我整理成了一份PDF文档,文末有详细的免费领取方式,有需要的朋友可以到文末查看领取方式。

在安卓系统中: 当系统内存不足时,Android系统将根据进程的优先级选择杀死一 些不太重要的进程,优先级低的先杀死。进程优先级从高到低如下。

前台进程

  • 处于正在与用户交互的activity
  • 与前台activity绑定的service
  • 调用了startForeground()方法的service
  • 正在执行oncreate()onstart()ondestroy方法的 service
    进程中包含正在执行onReceive()方法的BroadcastReceiver

系统中的前台进程并不会很多,而且一般前台进程都不会因为内存不足被杀死。特 殊情况除外。当内存低到无法保证所有的前台进程同时运行时,才会选择杀死某个 进程。

可视进程

  • 为处于前台,但仍然可见的activity(例如:调用了onpause()而还没调用 onstop()的activity)。典型情况是:运行activity时,弹出对话框(dialog 等),此时的activity虽然不是前台activity,但是仍然可见。
  • 可见activity绑定的service。(处于上诉情况下的activity所绑定的service

可视进程一般也不会被系统杀死,除非为了保证前台进程的运行不得已而为之。

服务进程

  • 已经启动的service

后台进程

  • 不可见的activity(调用onstop()之后的activity

后台进程不会影响用户的体验,为了保证前台进程,可视进程,服务进程的运行, 系统随时有可能杀死一个后台进程。当一个正确实现了生命周期的activity处于后台 被杀死时,如果用户重新启动,会恢复之前的运行状态。

空进程

  • 任何没有活动的进程
    系统会杀死空进程,但这不会造成影响。空进程的存在无非为了一些缓存,以便于 下次可以更快的启动。

最后

最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2019-2021BAT 面试真题解析,我把大厂面试中常被问到的技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。

还有 高级架构技术进阶脑图 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

领取方式:【戳这里免费领取全套资料】

Android 基础知识点

一线互联网移动架构师360°全方面性能调优,算法太TM重要了

Java 基础知识点

一线互联网移动架构师360°全方面性能调优,算法太TM重要了

Android 源码相关分析

一线互联网移动架构师360°全方面性能调优,算法太TM重要了

常见的一些原理性问题

一线互联网移动架构师360°全方面性能调优,算法太TM重要了

腾讯、字节跳动、阿里、百度等BAT大厂 2019-2021面试真题解析

一线互联网移动架构师360°全方面性能调优,算法太TM重要了

/doc/DSkNLaERkbnFoS0ZF)**

[外链图片转存中…(img-Q1NrBgMw-1619761851338)]

以上内容,均可以免费分享给大家,希望大家在今年一切顺利,进到自己想进的公司,共勉!

上一篇:字节跳动+京东+360+网易面试题整理,Android篇


下一篇:使用Spring Initializr创建SpringBoot项目提示Initialization failed for ‘https://start.spring.io‘