Fork me on GitHub
image frame

面试-滴滴-Android

  • 一面
    • 启动模式
      • stackTop 生命周期
    • handler
    • handler机制
    • handler原理
    • looper
    • 线程
    • 协程
      • kotlin js里面有 其他不知道
    • 自定义view
    • 动画
    • 修改颜色的动画
    • list
    • hashmap hashtable
      • hashmap 原理啥的
    • 开源库
      • retrofit
      • okhttp
    • activity 通信
    • fragment 创建
    • fragmentmanager trasation
    • fragment之间通信
    • activity通信
    • 我说了一下不用fragment直接上view 问了一下
    • thread里面looper
    • looper.prepare
      • 只说了单例 其他没说出来
    • thread sleep wait 区别
      • 3个线程依次执行
    • 算法
      • [“a”,”b”,”c”] [“c”,”d”,”e”,”f”] 找到 多的 少的 重复的
  • 二面
    • 提到了launcher
      • launcher启动的时候有个广播
        • 这个广播是在启动前还是启动后
    • launcher的实现
    • 进程和线程
      • 多进程用处
        • 保活
        • 已失效
    • 比较有自信的项目
      • miui的资源替换

Javascript 定时器

Javascript 定时器

  • node定时器
    • 同步任务
    • 异步任务
      • 浏览器
        • setTimeout
        • setInterval
      • node + 浏览器
        • setImmediate
        • process.nextTick()

同步任务 > 异步任务

  • 异步任务

    • 本轮循环
      • process.nextTick和promise的回调追加在本轮循环,同步任务之后
    • 次轮循环
      • setTimeout
      • setInterval
      • setImmediate
  • 在本轮循环中

    • 同步任务
    • process.nextTick
    • 微任务
      • promise的回调函数
  • 次轮循环

例如:

1
2
3
4
5
6
7
8
9
10
11
12
console.log(1);
setTimeout(function() {
console.log(2);
}, 0);
new Promise((resolve, reject) => {
console.log(3);
resolve();
})
.then(() => {
console.log(4);
});
console.log(5);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
console.log(1);
process.nextTick(() => {
console.log(2);
process.nextTick(() => {
console.log(3);
});
});
setTimeout(() => {
console.log(4);
}, 10);
setImmediate(() => {
console.log(5);
});
while (Math.random() < 0.99999);
console.log(6);

cankao
NodeJs 定时器详解

JavaScript WebWorker

JavaScript WebWorker

  • web worker
    • 创建
      • new Worker(‘worker.js’,{name : ‘myw’})
      • new Worker(window.URL.createObjectURL(new Blob([‘console.info(“worker”)’])))
    • 信息传递
      • postMessage
      • onMessage
      • addEventListener(‘event-tag’, callback)
      • onError
        • addEventListener (‘error’ callback)
    • 关闭
      • worker.terminate
      • self.close
    • 以拷贝方式传递数据

参考
Javascript高级编程
Web Worker

Javascript 模块化

  • nodejs 模块化规范
    • exports 和 module.exports
    • 引用顺序
    • 闭包解决
    • 面向对象开发
      • 闭包始终返回对象
    • YUI
    • commonJS
      • 原生module模块,每个文件都是一个module实例
      • 文件内部通过require对象引入指定模块
      • 所有文件加载同步完成
      • 通过module关键字暴露内容
      • 每个模块加载一次之后就会被缓存
      • 模块编译本质是沙箱编译
      • 使用了nodeapi ,只能在服务端运行
    • AMD 和 RequireJS
      • AMD Asynchronous Module Definition
        • 异步方式加载模块
          • 模块的加载不影响后续代码使用
          • 所有依赖该模块的语句定义在回调中,等依赖项加载完后回调函数运行
      • RequireJS 是AMD的实现
        • define(id?, dependencies?, factory)
        • 动态创建script标签
          • onload监听加载完毕
    • CMD 和 SeaJs
      • SeaJs是CMD的实现
    • ES6 中的模块化
      • 新增关键字
        • import
        • from
        • as
        • export
        • default
      • 输出值引用
      • 编译时输出接口
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// YUI - 编写模块
YUI.add('dom', function(Y) {
Y.DOM = { ... }
})

// YUI - 使用模块
YUI().use('dom', function(Y) {
Y.DOM.doSomeThing();
// use some methods DOM attach to Y
})

// hello.js
YUI.add('hello', function(Y){
Y.sayHello = function(msg){
Y.DOM.set(el, 'innerHTML', 'Hello!');
}
},'3.0.0',{
requires:['dom']
})

// main.js
YUI().use('hello', function(Y){
Y.sayHello("hey yui loader");
})
1
2
3
4
// 沙箱编译
(function (exports, require, module, __filename, __dirname) {
//原始文件内容
})();

参考
JavaScript模块化发展

html-basic

  • html基础
    • 何时引用js
      • src href
        • src
          • 请求src资源会阻塞
        • href
          • 并行下载
    • 如何引入js
      • script标签
      • 动态创建script标签
    • center标签居中

进程

  • 进程状态
    • 创建
    • 就绪
      • 等待处理机
      • 运行
    • 运行
      • 阻塞
      • 终止
    • 阻塞
      • 等待输入输出
      • 就绪
    • 终止

html5

  • HTML5 新特性
    • Canvas
    • Geolocation
    • Audio Video
    • localStorage sessionStorage
    • webworker websocket
    • header nav footer aside article section

css3

css3

  • transition
    • transition: property duration timing-function delay;
  • animation
    • @keyframes
    • animation: name duration timing-function delay iteration-count direction;

html5 input

html5 input

  • input html5新增项
    • email
    • url
    • number
    • range
    • Date Picker
      • date
      • month
      • week
      • time
      • datetime
      • datetime-local
    • search
    • color
  • © 2020 Kfdykme
  • Powered by Hexo Theme Ayer
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信