岗位介绍:

一面:

技术栈:vue3

二面:

  • 该岗位负责的业务,主要是和测试进行对接的吗?有无相关产品经理的角色?
  • 多终端适配具体是指?需要app端吗,还是单纯的移动端h5?
  • 要求能编写简单的shell/python脚本,可以讲一下具体的业务场景吗?
  • 加分项:使用过allure报告系统,我查找资料看这个是python编写的自动化测试报告,该岗位的职责有相关要求吗?
  • 加分项:了解车载测试业务逻辑,可以大概讲下业务流程么?

整理的知识点:

  • nginx部署
  • docker部署、dockerfile
  • webpack、rollup优化打包流程
  • shell编程

nginx部署

参考

Nginx模块与作用

  • http模块:跟web服务相关,主要用于扩展标准的 HTTP 功能,让 Nginx 能处理一些特殊的服务,包含几个子模块
  • server模块:服务模块,配置80端口监听、虚拟主机、DNS域名解析等
  • location模块:uri网址定位
  • ssl模块:https加密
  • gzip模块:压缩
  • proxy模块:设置后端IP地址、端口号及http和加密的https

Nginx三大作用:反向代理、负载均衡、动静分离

nginx负载均衡调度算法

  • 轮询
  • 加权轮询
  • ip_hash
  • 最少连接数

Docker

dockerfile常用指令

  • FROM,基础镜像
  • LABLE,镜像描述信息
  • WORKDIR‌,用于为 Dockerfile 中所有的 RUN、CMD、ENTRYPOINT、COPY、ADD 指定设定工作目录
  • RUN‌,docker build 镜像构建的时候需要执行的 shell 命令默认”/bin/sh -c”运行
  • COPY,从 Docker 宿主机复制文件至新镜像
  • ADD,类似于 COPY 指令,ADD 支持 tar 文件和 URL 路径​​​​​​​
  • VOLUME,数据卷
  • ENV‌,用于为镜像定义所需的环境变量
  • EXPOSE,为容器打开指定的监听端口以实现与外部通信
  • CMD‌,启动容器指定默认要运行的程序或命令,默认”/bin/sh -c”运行

优化Dockerfile构建速度

  • 基础镜像选择,可以使用轻量级的镜像,减少体积,比如Alpine Linux。
  • 分阶段构建,将编译/打包环境和运行环境分开,只保留必要的文件。
  • 使用.dockerignore忽略无关文件(如node_modules)。

vue2与vue3差异

业务代码使用方面:

  • 组合式api,setup、onMounted、ref、reactive等等,合理的代码组织
  • 更好的支持ts
  • 更好的支持函数式编程
  • 更好的性能,使用Proxy代替defineProperty
  • 等等

Proxy的优势:

  • 可以对整个对象进行监听,而无需遍历属性。
  • 添加和删除对象的属性时,也支持响应式。

vue与react的差异

相同点:

  • 组件化
  • 函数式编程
  • 虚拟dom等

不同点:

  • 设计理念,React组件就是函数、编写组件的语法是JSX,本质就是Javascript;Vue内置了很多黑魔法,比如单文件组件、指令等。
  • 组件存在的形式
  • 数据可变性
  • diff优化策略

shell

shell常用命令

  • ls,列出目录内容
  • cd:切换目录,如cd ~进入用户主目录,cd ..返回上级
  • pwd:显示当前工作路径。
  • cp/mv/rm:复制、移动/重命名、删除文件,-r选项支持递归操作目录。
  • cat:快速查看文件内容。
  • touch‌‌‌‌
  • mkdir
  • gzip、zip
  • tar

文本处理与搜索‌‌:

  • grep:按模式搜索文本,如grep “error” log.txt
  • sed:流编辑器,支持文本替换、删除等操作。‌‌
  • awk:强大的文本分析工具,可提取字段或统计。
  • find:按名称、类型等条件搜索文件,如find /home -name “*.txt”。
  • locate:基于数据库快速查找(需先运行updatedb)。‌‌