Flutter面试题

Flutter面试题

Flutter有几种Widget,有什么区别?
StatelessWidget的生命周期有哪些,请按生命周期顺序说一下?
Flutter是怎么实现热重载的,说说具体实现原理?
为什么说Flutter的性能好,与RN的区别?
Flutter中是怎么实现并发操作的?
isolate是怎么进行通信和实例化的?
Future和isolate有什么区别?
Stream与Future是什么关系?
Widget唯一标识key有几种?
await for 具体怎么使用?
说说mixin extends implemet之间的关系?

Dart部分

1、Dart 属于是强类型语言 ,但可以用 var 来声明变量,Dart 会自推导出数据类型,var 实际上是编译期的“语法糖”。dynamic 表示动态类型, 被编译后,实际是一个 object 类型,在编译期间不进行任何的类型检查,而是在运行期进行类型检查。

2、Dart 中 if 等语句只支持 bool 类型,switch 支持 String 类型。

3、Dart 中数组和 List 是一样的。

4、Dart 中,Runes 代表符号文字 , 是 UTF-32 编码的字符串, 用于如 Runes input = new Runes(‘\u{1f596} \u{1f44d}’);

5、Dart 支持闭包。

6、Dart 中 number 类型分为 int 和 double ,没有 float 类型。

7、Dart 中 级联操作符 可以方便配置逻辑
event
..id = 1
..type = “”
..actor = “”;

易车一面面试题

易车一面面试题

易车一面:
1、Arouter原理
2、目前的组件化项目架构应用分层
3、业务模块直接的通信怎么做的,是在common里封装接口吗
4、组件化过程中遇到的困难,怎么解决的
5、不想在common里封装接口,想达到通信的目的,怎么做(自己设计路由框架怎么做)
6、集成启动的时候,各个业务模块的初始化启动怎么做(反射获取)
7、MVVM优点在哪
8、业务层怎么做管理,四个业务层都各自迭代,怎么协同管理(maven,aar)
9、apk包体积优化怎么做的
10、自己做热修复的系统怎么设计、插件什么格式下载下来
11、布局优化,内存优化怎么做的
12、约束布局
13、jvm内存划分,内存泄漏怎么发生的,垃圾回收,GcRoot都有哪些

Android 基础知识总结

Android 基础知识总结

Activity生命周期

img

Fragment生命周期

img

Activity****四种启动模式

  • standard : 标准模式,每次启动Activity都会创建一个新的Activity实例,并且将其压入任务栈栈顶,而不管这个Activity是否已经存在。Activity的启动三回调(onCreate()->onStart()->onResume())都会执行。

  • singleTop : 栈顶复用模式.这种模式下,如果新Activity已经位于任务栈的栈顶,那么此Activity不会被重新创建,所以它的启动三回调就不会执行,同时Activity的onNewIntent()方法会被回调.如果Activity已经存在但是不在栈顶,那么作用与standard**模式一样.

  • singleTask: 栈内复用模式.创建这样的Activity的时候,系统会先确认它所需任务栈已经创建,否则先创建任务栈.然后放入Activity,如果栈中已经有一个Activity实例,那么这个Activity就会被调到栈顶,onNewIntent(),并且singleTask会清理在当前Activity上面的所有Activity.(clear top)

  • singleInstance : 加强版的singleTask模式,这种模式的Activity只能单独位于一个任务栈内,由于栈内复用的特性,后续请求均不会创建新的Activity,除非这个独特的任务栈被系统销毁了

百度二面面试题

百度二面面试题

  1. 正向代理,反向代理
    正向代理 client proxy -> service client -> proxy service
  2. 数据库 后10条数据 sql语句怎么写
    Select * from user order by id desc limit 10
  3. 非关系型数据库库和关系型数据库区别
    关系型数据天然就是表格式的,因此存储在数据表的行和列中。数据表可以彼此关联协作存储,也很容易提取数据。
    非关系型数据不适合存储在数据表的行和列中,而是大块组合在一起。非关系型数据通常存储在数据集中,就像文档、
    键值对或者图结构。你的数据及其特性是选择数据存储和提取方式的首要影响因素。
  4. 多个数据库版本升级 如何设计减少后期开发人员工作量
  5. 计算2进制数据有多少个1
  6. java文件编译过程
    通过javac 将 java文件编译成.class字节码文件
  7. dex文件如何加载
    DexClassLoader PathClassLoader 。DexClassLoader 加载外部文件。PathClassLoader加载内部应用。继承自BaseDexClassLoader,内部包含DexElement 数组。
  8. 列表卡顿优化
  9. 内存紧张是否会导致卡顿
  10. synchronized作用, 如何 让多个实例的同一个方法只有一个线程访问
  11. 计算二叉树深度
  12. 打印斐波那契数列
    0,1,1,2,3,5,8,13,21,34,55,89,144
  13. 微信朋友圈 图片点击放大效果和手指拖动效果如何实现
  14. anr问题怎么分析
  15. dalvik 虚拟机和ART虚拟机主要区别
  16. socket是什么
  17. tcp协议的上层协议有哪些
    http websocket mqtt
Java基础知识面试题

Java基础知识面试题

Java语言有啥特点?
简单易学
面向对象(封装、继承、多态、抽象)
跨平台(JVM实现跨平台)
可靠性
安全性
支持多线程
支持网络编程
编译和解析并存
JVM是什么?
JVM(Java虚拟机):是运行Java字节码的虚拟机。JVM有针对不同系统的特定实现,目的是使用相同的字节码,它们都会给出相同的结果。
字节码:JVM可以理解的代码,扩展名为 .class 的文件。它不面向任何特定的处理器,只面向虚拟机。Java通过字节码的方式,在一定程度上解决了传统解析型语言执行效率低的问题,同时又保留了解析型语言可移植的特定。所以Java程序运行比较高效。
字节码和不同系统的JVM的实现是Java语言“一次编译,随处可运行”的关键。
Java 程序运行过程
OracleJDK 和 OpenJDK 的对比?
OpenJDK是一个参考模型并且是完全开源的;而OracleJDK是基于OpenJDK7构建的,并不是完全开源的。
OracleJDK比OpenJDK更稳定。两者代码几乎相同,但OracleJDK有更多的类和一些错误的修复。
在响应性和JVM性能方面,OracleJDK更出色一些。
import java 和 javax 有什么区别?
刚开始Java API所必需的包是java开头的包,javax是扩展API包来使用。
后来 javax 逐渐成为 Java API 的组成部分。
字符型常量 和 字符串常量的区别?
形式上:字符型常量是单引号引起的一个字符;字符串常量是双引号引起的0个或若干个字符;
含义上:字符型常量相当于一个整型值(ASCII值),可以参加表达式运算;字符串常量代表一个地址值(在内存中的存放位置);
内存大小:字符型常量只占2个字节;字符串常量占若干个字节;
标识符和关键字的区别?
标识符:是一个名字,类、变量、方法的名字都是标识符。
关键字:被Java语言赋予了特殊含义的标识符。例如:private / public / class / new 等。
Java泛型?类型擦除?常用的通配符?
Java泛型:JDK5引入的一个新特性,提供了编译时类型安全检测的机制。表现为:将类型当作参数传递给一个类或者方法。
泛型类
泛型接口
泛型方法
类型擦除:Java泛型是伪泛型,Java在编译期间,所有的泛型信息都会被擦除掉。
常用通配符
? 表示不确定的java类型
T 表示具体的一个java类型
K / V 分别表示Java键值对的 key value
E 表示 Element

各种学习资料,包括一些百度云视频链接还有pdf资料 --搬运工

各种学习资料,包括一些百度云视频链接还有pdf资料 --搬运工

人生不如意事常八九 共勉

【0】Springboot微服务开发天气预报系统视频教程 https://pan.baidu.com/s/1joz7flyztCq8oklBlsz8dQ 提取密码:cpz7

【1】JAVA300集大型视频教程2018版发布 https://pan.baidu.com/s/1Bqy4mWSD1idd6JmIzS9ZLg 提取密码:llg2

【2】Vue2.5开发去旅游网站App从零基础入门到实战项目 https://pan.baidu.com/s/1DYCoIw_b893KXGkkYt_92Q 提取密码:bgoy

【3】opencv+tensorflow入门人工智能图像处理视频教程+源码下载 https://pan.baidu.com/s/10WefZkTQST094L5UQA7myg 提取密码:7b9w

【4】最新BAT面试真题讲解,想去大厂的别错过 https://pan.baidu.com/s/1ejf2Eh8ZA-T1bWbuT6gw0A 提取密码:mist

【5】Python3异步IO并发编程高级进阶视频教程下载 https://pan.baidu.com/s/1jiRwD5MNPmAKF98nXYzmKg 提取密码:hct4

【6】最新大数据数据分析与挖掘高级工程师第三期视频教程 https://pan.baidu.com/s/1g8xGPag9GiMA4_MEKbxePw 提取密码:z2v3

【7】姜承尧MYSQL,DBA视频课程(44天全)视频教程下载 https://pan.baidu.com/s/19NUjkkvdDZXhw1QG4yX21Q 提取密码:funf

【8】Python+AnsiblePlaybook+Django自动化运维项目实践课程 https://pan.baidu.com/s/1CfOHuaYi_TdPoAUzP9AW1w 提取密码:o3rc

【9】springcloud微服务实践-分布式与原理剖析链路追踪容器 https://pan.baidu.com/s/1g8QoqOnQwjI7N3zDSccr-w 提取密码:ygf5

【10】2018年最新Java高并发知识体系与高并发编程架构课程视频教程下载 https://pan.baidu.com/s/1E1NhSevRqwdnguiKSsOp5A 提取密码:mkh2

【11】2018年最新价值300Python人工智能TensorFlow框架应用实践视频课程下载 https://pan.baidu.com/s/1qYJjFz9aG6M5grMg311uRQ 提取密码:5hzp

【12】谭州学院价值1680元python视频教程12306网站案例vip特训班教程 https://pan.baidu.com/s/1yEQq5W1eSc3NA4XmyNmuJw 提取密码:cipi

【13】下载 https://pan.baidu.com/s/1D6hYdyi4ti2zpnKHVWWbEg 提取密码:glov

【14】Netty实战高性能分布式RPC视频教程下载 https://pan.baidu.com/s/1sDHh_g624MO08MTFIrwEDw 提取密码:mwa6

【15】2018年最新尚学堂Vue2全套学习视频教程下载 https://pan.baidu.com/s/147NvAV-Qse90xvTYDvHBcg 提取密码:wpfg

【16】最新2018疯狂SpringCloud微服务架构实战视频教程 https://pan.baidu.com/s/1jgC0lagtMG7tArATrAAHXg 提取密码:10kf

Android项目运行时丢失so文件

Android项目运行时丢失so文件

项目运行时提示缺少so文件,需要在App项目中build.gradle增加支持的so 文件类型.在defaultConfig下增加下方代码

1
2
3
ndk {
abiFilters "armeabi",'x86', 'armeabi-v7a', 'armeabi-v8a', 'arm64-v8a'
}

完整代码

1
2
3
4
5
6
7
8
9
10
11
12
defaultConfig {
applicationId "…"
minSdkVersion versions.minSdk
targetSdkVersion versions.targetSdk
versionCode versions.appVerCode
versionName versions.appVerName
multiDexEnabled true
ndk {
abiFilters "armeabi",'x86', 'armeabi-v7a', 'armeabi-v8a', 'arm64-v8a'
}

}

从新编译应用,并在build/outputs/apk下查看编译成功的apk 文件中的libs 已经将so文件成功编译进去。


:D 一言句子获取中...