滴滴网约车前端实习一二面

- 面试官自我介绍了下
- 自我介绍
- 项目难点
- 小程序分包
{
"pages":[ 主包
"pages/index",
"pages/logs"
],
"subpackages": [ 分包
{
"root": "packageA",
"pages": [
"pages/cat", 相对于root分包的路径
"pages/dog"
]
}, {
"root": "packageB",
"name": "pack2",
"pages": [
"pages/apple",
"pages/banana"
]
},
{
root:分包根目录
name:分包别名,分包预下载时可以使用
pages:分包页面路径数组,相对与分包根目录
independent:true|false分包是否是独立分包
}
]
}
- 小程序分包最大多少兆?是主包不能超过2M还是那些分包一起不能超过2M?
所有的分包最大20M,主包不能超过2M
- 小程序的优势
1. 功能齐全,可以满足现在APP的基本的要求。
2. 不占内存,在微信中点开即用,数据保存在云端
3. 推广成本低
4. 没有广告
- 小程序相对于移动端web为什么更安全?
- 小程序能否操作DOM?
不能,逻辑层和webView渲染层的代码完全分离,即两者线程独立,JavaScriptCore没有window、document等对象,自然不能操作dom。
补充:那渲染层和逻辑层怎么实现响应式的呢?
1. 在渲染层中,宿主环境环境把wxml装换为js对象;
2. 在逻辑层发生数据变更时,我们需要通过宿主环境提供的setData方法,把数据从逻辑层传到渲染层;
3. 再通过对比差异,把差异应用到原来的dom树,渲染出正确的UI界面。
- Vue3.0相对于Vue2.0的优势

- 说下composition API
- http2.0做出哪些改进?
- http2相对于http1在报文中有哪些新增了?
- 说下Steam(流)和帧的关系
帧是流中的数据单位。一个数据报的header 帧可以分成多个 header 帧,data 帧可以分成多个data 帧。
- 浏览器的事件循环和node事件循环
- 时间循环的题
fuction fn() {
    fn()
}
fn()
// 上面说下为什么不行
function fn() {
    setTimeout(() => {
       fn(); 
    },0)
}
fn();
console.log(1);
// 能打印吗?为什么能打印?

- 手写一个快速排序
function quickSort(arr){
    if(arr.length <= 1) return arr
    const mid = Math.floor((arr.length + 1) /2)
    let pivo = arr.splice(mid,1)
    let left = [],right = []
    for(let i = 0;i < arr.length;i++) {
        if(arr[i] < pivo) {
            left.push(arr[i])
        } else {
            right.push(arr[i])
        }
    }
    return quickSort(left).concat(pivo,quickSort(right))
}
// 最好情况O(N) 最坏情况O(N^2) 平均时间复杂度O(NlogN)
先写这么多吧之后再补~

补:
6月1号约的二面,之后面试官说我技术没问题,没hc了呜呜
都是问的一些小程序相关的问题

#滴滴实习##实习##面经#
全部评论
为啥问这么多小程序的题,楼主简历上写了吗?
1 回复 分享
发布于 2022-04-28 16:03
lz请问现在还在实习吗,或者说之前在哪实习呀
点赞 回复 分享
发布于 2022-09-16 00:35 浙江
楼主请问在哪投的
点赞 回复 分享
发布于 2022-05-03 14:20
楼主滴滴一面过了吗?
点赞 回复 分享
发布于 2022-04-29 16:57

相关推荐

评论
6
28
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务