Linux编程 点击右侧关注,免费入门到精通!

作者丨New_X
https://www.jianshu.com/p/73bdb80914ba

去年跳槽不成功,在同花顺又呆了一年。一年来收获蛮大,就公司项目来说,已经是非常熟悉了,很多入职不久的,都是不断抱怨,框架太老,技术太旧。这个是实话,但是细看里面的思想和设计还是能学到不少东西的,一年来也顺手优化了许多东西,根据业务也思考了很多更合理的方案。

不过还是打算跳槽了,薪资和无法推动项目是个大问题,总不能鱼渔都不得吧。我是抱着找不到好的,就北上的心态找的。

做股票期货的,经验类似,面试太过顺利…

Activity的启动模式

Activity和Fragment数据交互

线程间交互的方法都行,进程间交互的就更可以了,FragmentManager/getActivity()

单例的实现方法

事件分发机制

开源库用过哪些

自己平时写项目学习,基本都用过,原理也了解;重构项目的资讯模块用了Retrofit & RxJava,自己思考优化了代码框架,比如线程切换、页面查找等,其实弄清楚原理,要改哪里一目了然

项目中Socket是怎么分包、编码的?

包类型分为Text类型、Table类型、资源类型、曲线类型、交互模式数据(曲线类型属性主要是点,关键方法append,可以增量更新数据)

公司自己定义了个Base64编码,算法当然不要去纠结了

延伸了下压缩(主要用于Table和曲线类型)和加密(参考HTTPS)

股票的图怎么画?像左右滑动、点击出现十字光标这些

原理知道即可:自定义View & 触摸反馈

要了16K,和当初进同花顺一样,当天给了答复

有赞

重点在kotlin、RN 和 weex,其实也正常,电商类都偏向混合开发,毕竟活动更新很频繁,和自己的技术栈不是很符合,估计是挂了,也正常,以公司角度肯定最好是找搞过的,以个人角度技术栈对不上肯定也会被压薪资…

Handler、Looper、MessageQueue的关系

类似微博分享功能适合的launchMode,为什么不是singleInstance?

Binder具体的实现原理,数据拷贝次数:代理模式 & 协议,太细的忘了,开发艺术探索、内核剖析、源代码情景分析里都看过…

个人觉得学以致用,比如App启动,没必要每步都记清楚,知道需要创建ApplicationThread、ActivityThread,然后和冷热启动结合想一下,activity的启动流程和生命周期结合想一下,虽然还没深入到那一步,但是启动模式实现肯定也是在AMS的,知识其实是相通的,多想想设计者这样设计的道理 -> 不过可能也是自己经验不够,理解不到位,不过死记真的没意思…

RxJava:一个请求用完接着再用一个请求(concat)/两个请求并行使用哪个操作符(zip)

其实场景是很常见的,比如我们也有委托双重认证,并发请求就更多了,但是RxJava用的少,没那个意识,资讯那块的请求很简单,不过提醒我了,双重认证可以封装简化 -> 可能不行,公司的网络框架没那么解耦的

这种类似问题我是最烦的,确实不会,不过知道就是输入关键字搜索就可以知道的问题

StringBuilder和StringBuffer的区别,StringBuffer的实现原理

HashMap的rehash扩容是怎么操作的:没什么印象了

1). 创建一个新的Entry空数组,长度是原来的2倍

2). 遍历原Entry数组,把所有的Entry重新Hash到新数组里。为什么要重新Hash呢?因为长度扩大以后,Hash的规则也随之改变了

-> 想问的应该是rehash的公式,之前看到过,不过没去记…

-> 也有可能想知道的是:LoadFactor:HashMap负载因子,默认是0.75f;Capacity:HashMap的当前长度,HashMap的长度必是2的幂

栈虚拟机和寄存器虚拟机差异:听都没听过,不过知道寄存器处理速度是最快的

Retrofit的注解是怎么解析的:动态代理、AOP

Handler的内存泄漏原因;为什么内存释放不了,MessageQueue持有? -> 被带沟里了,肯定知道内部类持有外部引用导致activity无法释放;想的是线程是GC Root,Handler正在运行,会导致activity无法释放,所以被引导,顺势说了MessageQueue持有了activity

JSBridge安全漏洞解决方法:知道有安全问题,但是没仔细研究

ClassLoader双亲委派实现原理

IntentService的实现原理

平时用过哪些框架:RxJava和Retrofit重构了资讯模块

淘客吧

View的绘制流程、承载的数据结构、树的好处

算法题:把0排到最前面

事件分发机制

MVC MVP MVVM的区别

ClassLoader的过程,ClassLoader的好处

Handler内存泄露

多线程机制

HTTPS工作原理

数据怎么压缩,数据的安全

插件化原理

ARoutet原理

组件化通信

内存优化做过哪些

讨论了下负载均衡

系统启动流程和activity启动流程

成长最大的阶段

阿拉丁,一面

领导不在,同学内推的,面试官说进阿拉丁有点屈才,该试试大厂。我也想,但是不认识内推的人…

HTTP和HTTPS区别

HTTPS流程,项目中安全和压缩处理

Binder机制

ClassLoader机制

对架构的理解

OkHttp原理,怎么把参数组装的

事件分发机制

HashMap的哈希散列实现,线程安全吗,为什么?

ArrayList和Vector扩容的区别

HashTable,ConcurrentHashMap怎么实现线程安全

jvm内存模型,新生代和老年代的比例?

新生代里怎么划分?好处?

熟悉哪些数据结构?

设计模式在源码和项目中的使用

单例模式的写法,思路

java8对hashmap的优化

hashmap和hashset区别,hash怎么散列的

tcp三次握手

头条,一面

项目中成就最大的部分

对Thread的理解?线程状态?阻塞和运行状态区别?

锁的种类,什么是自旋锁,ReentrantLock?

HashMap原理?

HandlerThread原理和使用场景?

-> IntentService

线程池怎么实现,阻塞队列原理?

-> 阻塞队列实现没去了解,下意识提了下Looper.loop循环,后面一看还真是,程序员的直觉

Fragment初始化参数调用哪个方法?

Fragment懒加载怎么实现?

事件分发机制,分析3层View包裹,点击click

自定义View怎么绘制,注意点?

网络框架怎么重构封装的?

TCP三次握手

对资讯进行了MVP封装,讲讲MVC和MVP的理解

为什么使用Bundle不用HashMap传输数据?

Serialable 和 Parcelable区别

glide的图片三级缓存

交互模式

爱库存

面完有个面产品的漂亮小姐姐搭话,心里美滋滋

大都问的项目,每个点延伸讲了很多,所以问的个数不多

Service熟悉吗?

Service进程保活?

MVC和MVP

发现大都问的相似,我都想停更了…

祝好,持续更新…

 推荐↓↓↓ 

?16个技术公众号】都在这里!

涵盖:程序员大咖、源码共读、程序员共读、数据结构与算法、黑客技术和网络安全、大数据科技、编程前端、Java、Python、Web编程开发、Android、iOS开发、Linux、数据库研发、幽默程序员等。

万水千山总是情,点个 “ 好看” 行不行

两年 android 经验面经相关推荐

  1. 两年 Android 经验面经(有赞等公司),安卓事件分发机制面试

    包类型分为Text类型.Table类型.资源类型.曲线类型.交互模式数据(曲线类型属性主要是点,关键方法append,可以增量更新数据) 公司自己定义了个 Base64编码,算法当然不要去纠结了 延伸 ...

  2. android 布局可大可小,UI设计教程之:ios与android ui适配(将IOS UI转换成Android经验畅谈)...

    内容提要:这是UI设计系列教程之ios与android ui适配经验畅谈.文章作者介绍了自己将IOS UI转换成Android经验,包括:不要直接转换.了解单位和组件缩放格式.屏幕尺寸DP和像素的换算 ...

  3. 一到两年工作经验的看完这些面试轻松拿offer

    Java基础面试题 1.面向对象的特征有哪些方面 面向对象的特征主要有以下几个方面: 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为 ...

  4. 将两个android项目整合,并在父项目中使用子项目的功能

    将两个android项目整合到一起,并在父项目中使用子项目的功能 前言 android小白,课设需要整合两个项目,并且使用子项目的功能.简单记录一下整合过程. 整合思路 将子项目设置为library, ...

  5. Android 通过 NSD 服务 Netty(断线重连、心跳、黏包处理) 实现两个 Android 系统端的长连接通讯

    引言 近期需求,通过手机App端取号机(含叫号通知功能),实时连接 另一台 Android 广告机用于播放当前被叫到的号数. 这里有两种Android 机 一台「基于Sunmi版的可出小票的Andro ...

  6. Java两年工作经验面试

    Java两年工作经验面试题目和心得 一.ArrayList和LinkedList的区别? 二.ArrayList的底层扩容机制是如何实现的? 三.spring的aop底层实现方式有哪些? 四.Hash ...

  7. 微软JobHack两天面试经验CSS (Winter Intern Job Hack)

    微软JobHack两天面试经验 面试流程 线上投递简历 电话面试 JobHack第一天日程 1) 三个可选的case 2) 详细的日程安排 3) 怎么吸引manager的注意 JobHack第二天日程 ...

  8. SLAM算法实习生——两周工作经验总结

    SLAM算法实习生--两周工作经验总结 首先,非常幸运能够以SLAM算法工程师的身份实习 来总结一下这两周的工作情况,搭建并测试了以下几种slam平台: 1, ROS indigo+ORB-SLAM2 ...

  9. 诺基亚 android 7.0,在中国首发! 诺基亚两款Android 7.0新机曝光:一大一小

    对于老粉丝来说,等来诺基亚安卓手机应该不会是太遥远的事情了,不过只是贴牌生产的它,真的还有入手的必要吗?现在,最新的消息称,诺基亚准备的两款安卓手机预计最快年底前发布,其完全由富士康设计和生产,定位高 ...

最新文章

  1. SVO学习笔记(一)
  2. 久等!2020智源大会演讲视频全公开,参与盖楼挑战赢限量徽章
  3. AB(apache benchmark)压力测试
  4. mathematica打包java_从Mathematica到Java的图像
  5. 一起学习C语言:函数(二)
  6. Delphi 7下最小化到系统托盘
  7. mysql 指定tcpip连接数_tcp ip连接数据库
  8. stopwatch类使用
  9. “人,落魄时,千万别装可怜”你怎么看?
  10. 最大值、数据排序、九九乘法表、杨辉三角
  11. 盘点当前40种常用的芯片封装技术。
  12. 蓝桥杯题目 统计回文子串
  13. ADB远程桌面连接本地手机
  14. HTTPS原理,三分钟轻松搞懂
  15. 美团外卖自动化业务运维系统建设
  16. C#WebApi下载文件
  17. 高校开学,小心钓鱼邮件趁火打劫
  18. 在来一次 快转存哦
  19. 绝了!多个激光雷达和相机的快速且鲁棒的外参标定方法(代码开源)
  20. LoRa模块无线通信技术在距离测量和定位上的应用——东胜物联

热门文章

  1. ib网卡命令_一种IB网卡连通配置方法、装置、终端及存储介质与流程
  2. Scrapy从入门到放弃4--管道pipelines使用
  3. idea使用SVN提交代码,一直updating
  4. html如何让网页全屏,使网页能全屏显示方法
  5. Android 集成海康威视监控 SDK,实现监控录像的查看
  6. vue开发者工具dev-tool的安装
  7. 对于专升本的一些疑惑
  8. 关于Python中Inf与Nan的判断问题详解
  9. 数字人民币持续推进,带来哪些利好?
  10. 囚徒困境,经济心理学问题之“KMRW”声誉模型