前言

在2020年1月初,公司倒闭,无奈走上找工作的道路,不想自己平时图安逸,不思进取,再次找工作才发现,android行业也不是站在风口上,猪也能吹上天的世道了.作为技术小菜的我,再找工作那几个月真是战战兢兢,被打击得信心全无.记录下我的面试经历,分享给需要的人.勉励自己要时时进步,才不会被淘汰.

猎豹移动:(有笔试)

  • atomicinteger内存模型

  • static编译时有啥不同,static 语句块,static变量,static方法,构造初始化顺序(静态绑定)

  • animation和animator的用法,概述实现原理

  • Handler,looper,messagequeue,thread,message,每个类功能,关系?

  • Mvc,mvp的差异

  • app闪退的原因有哪些?每种情况简述分析过程

  • 如果一个app存在多进程,请列出全部的ipc方法

  • 操作系统中进程和线程有什么联系和区别,系统什么时候会在用户态和内核态中切换?- 如何加载ndk库?如何在jni中注册native函数,有几种注册方式?

  • 一个app如果性能不好,怎么分析?


饿了么(无笔试)

  • 设计的六大原则

  • 如果hashmap key不一样,但是hashcode一样会怎么样?

  • okhttp有什么优秀的设计模式?builder模

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

式有什么好处?责任链模式有什么好处?

  • 懒汉模式单例为什么加volaitle?

  • hashmap是否线程安全?不安全会出什么问题?

  • concurrenthashmap读写分别是啥情况?

  • bindservice和startservice生命周期有啥不同?

  • 广播有几种?广播是观察者模式?跨进城广播也是观察者模式吗?

  • ams是怎么找到启动的那个activity的?

  • a-b-c界面,其中b是singleinstance的,那么c界面点back返回a界面,为什么?怎么管理栈的?

  • 红黑树有啥特性?

  • 在oncreate里面可以得到view的宽高吗?

  • view的getwidth和getmesurewidth有啥区别?

  • 遍历hashmap的原理?

  • 23种设计模式


中园博林(有笔试)

  • 如何避免out of menmory和anr?

  • arraymap和hashmap的区别?

  • 如何实现线程同步?

  • 简述android事件分发机制

  • 简述view绘制流程

  • 用两个栈实现一个队列

  • 口头问viewpager嵌套滑动冲突怎么解决?

  • svg动画

  • 属性动画画一个抛物线怎么弄?


立思辰(无笔试)

  • 为了适配多分辨率,引入什么开源框架?

  • 阅读界面书架用什么控件实现?-布局怎么做到每行的文字左右对齐?

  • 直播界面,微信对话界面实现?

  • 性能优化怎么弄?


vv音乐(有笔试)


  • sax解析xml的优点

  • Contentvalue 键值类型

  • androiddvm的进程与linux的进程说法正确的是?(选择题)

  • Android:gravity和android:layout_gravity的区别?

  • assets与res/raw的区别?

  • 解释layout_weight的作用view如何刷新?

  • animation.animationlistner干什么用的?

  • android常用布局及排版效率

  • collection与collections的区别

  • 匿名内部类是否可以extends其他类?是否可以implement interface(接口)

  • 补间动画常见的效果?有哪几个常见的插入器?

  • override与overload的区别?overloaded的方法是否可以改变返回值的类型?

  • sleep与wait有什么区别?

  • 在android中,请简述jni的调用过程?请结束android.mk的作用,并试写一个android.mk文件(包含一个.c源文件即可)

  • 冒泡排序(代码实现)

  • 猴子偷桃问题代码实现

  • 给出两个链表的头指针比如p1,p2,判断这两个链表是否相交,写出主要思路即可

口头问

  • 简述封装,继承,多态

  • 强软弱虚引用的应用场合输出一个数组,不重复?(有点忘记题目什么意思了)

  • 用四个线程计算数组和(我说用join方法,或者countdownlatch,他说用线程池即可)

  • 什么叫安全发布对象(多线程里面)final?

  • 策略模式和命令模式是啥?

  • 拓扑排序

  • 数组和链表在中间位置的插入效率

  • binder的原理

  • art和dvm在gc上有啥不同?有啥改进?

  • linux和windows下进程怎么通信的?(完全不了解)

  • 性能优化做过什么工作?

  • 一个类实现一个接口,接口引用指向这个类对象,可以不可以调用它的tostring方法?

  • 浏览器,输入url匹配,假设有一亿条url缓存,用什么数据结构匹配?

  • recycleview缓存机制相比listview缓存机制有啥改进?

  • 一个长度为10的arraylist和linklist,在第五条插入,哪个更快?

  • 子类复写父类的equals方法,但是子类增加了一个成员变量int,请问equals方法咋整?


大数医疗(有笔试)

  • 手写hashmap

  • 写生产者消费者模式,不可用syncronized

  • treemap,hashmap应用场景


字节跳动(无笔试)

  • dvm和art的区别

  • 从framework的角度讲activity的启动流程(冷启动)

  • 手写算法,二维数组,每一行,每一列都是升序,找出某数的下标,没有输出[-1,-1],最好的时间复杂度是m+n(行数+列数)

  • zxing二维码开源框架流程

  • contentprovider怎么升级维护?

  • constaintlayout

  • bitmap有几种格式,分别占多少字节


滴滴出行(无笔试)

公司董事长——50w年薪程序员从顶端到谷底,一个APP从启动到主页面显示经历了哪些过程相关推荐

  1. 公司董事长——50w年薪程序员从顶端到谷底,我是这样走过来的!

    前言 在2020年1月初,公司倒闭,无奈走上找工作的道路,不想自己平时图安逸,不思进取,再次找工作才发现,android行业也不是站在风口上,猪也能吹上天的世道了.作为技术小菜的我,再找工作那几个月真 ...

  2. android github 多页面程序,论一个APP从启动到主页面显示经历的过程?

    前言 (个人观点.不喜勿喷) 本部分内容是关于Android进阶的一些知识总结,涉及到的知识点比较杂,不过都 是面试中几乎常问的知识点,也是加分的点. 关于这部分内容,可能需要有一些具体的项目实践.在 ...

  3. 年薪50w的程序员如何工作?

    想要做到年薪50万,首先你自己必须是高水平的程序员! 能年薪50万的程序员至少自身有以下3个特征之一: 1. 工作年限长,经验丰富 他们的共同特点是:10 年以上的工作经验,在大公司当过螺丝钉,也在创 ...

  4. 百万年薪程序员的7点能力

    作者介绍 findyi,腾讯.360码农,前哒哒少儿英语技术VP,现任土豆教育CTO. 几周前,微盟爆了个大雷,数据库让内部员工删库跑路.写了篇文章,做了一些我的判断:从微盟36小时故障,谈谈数据安全 ...

  5. 【转载】从草根到百万年薪程序员的二十年风雨之路

    在写这篇文章之前,该用什么样的标题,我犹豫不定,草根?百万年薪程序员?会不会被人当成标题党.二十年来,我所见过的草根程序员很多,优秀的草根程序员也不少.人与人之间的差别其实很小,很多人因为年少不懂事或 ...

  6. 从草根到百万年薪程序员的二十年风雨之路

    在写这篇文章之前,该用什么样的标题,我犹豫不定,草根?百万年薪程序员?会不会被人当成标题党.二十年来,我所见过的草根程序员很多,优秀的草根程序员也不少.人与人之间的差别其实很小,很多人因为年少不懂事或 ...

  7. 公司喜欢什么样的程序员?三个特点吸引HR!

    公司喜欢什么样的程序员?其实特别简单,就三个特点: 第一.态度好 态度永远是第一要素,面试者通常都是你以后的直接上级.如果跟你交流顺畅,看你态度也不错,这样对他来说,领导起来就容易一些.因此,态度通常 ...

  8. 高薪编程,品牌公司——人往高处走,作为程序员的你够格吗

    高薪编程,品牌公司--人往高处走,作为程序员的你够格吗 前言: 暑假马上就要结束了,暑假没回过家,在学校留校学习一个半月,每天键盘敲击声不断,很充实,每天都在不同程度的进步.且不说学了多少东西,头发反 ...

  9. Mac电脑如何给IDEA配置IDEA 公司发行的适合程序员编程字体

    Mac电脑如何给IDEA配置IDEA 公司发行的适合程序员编程字体 JetBrains今天推出了一种新字体,即JetBrains Mono,它是专为开发人员设计的. JetBrains Mono介绍和 ...

最新文章

  1. kaggle和colab入门
  2. c# 将图片转成透明背景的png 源代码_有机_有机认证标【高清png素材】
  3. 置springboot自带tomcat的最大连接数和最大并发数
  4. JPA / Hibernate实体状态转换的初学者指南
  5. 下载丨53页PDF,云和恩墨技术通讯(2021年4月刊)
  6. 充分利用 UE4 中的噪声
  7. Android自定义控件学习(五)-------自定义绘图
  8. 10种经典机器学习算法——Python版
  9. 跨多个专业的从业者想转行做单片机怎么办
  10. JAVA开发工程师面试题shiro
  11. windows错误代码
  12. 轻松记录南极最美丽风景 有TA就已经足够
  13. 链家网页爬虫_链家房源爬虫(含源码)
  14. go语言关于线程与通道channal
  15. 浅谈Actor并发模型
  16. Permute mac版 v3.7.2 文件格式转换器
  17. python下载某网站收费文档(一)——配合fiddler半自动版
  18. python计算乘积_python中矩阵运算(乘法和数量积)
  19. 【VIOLA】三岁筱兮: 一喷一醒然,再接再砺乃
  20. Mosquitto持久层群推消息实现思路

热门文章

  1. 电脑输入密码后自动注销
  2. 视频教程-实用数据分析:数据分析师从小白到精通-大数据
  3. windows清理_CCleaner专业的windows清理工具【附专业版升级方法】
  4. redis 和 memcached
  5. 数据治理服务及数据治理应用解决方案
  6. iMindMap思维导图软件之树状思维导图
  7. Engineering Dynamics 3 --- 转动惯量
  8. c语言算法有效性,BerForest—C语言学习笔记-《算法》
  9. 带电检测必要性_绝缘电阻测试的重要性
  10. 【数据挖掘】频繁模式挖掘及Python实现