Blog
首页
文档
收藏
关于
  • 在线转换时间戳 (opens new window)
  • 在线压缩图片 (opens new window)
  • Float-Double转二进制 (opens new window)
  • 文件转Hex字符串 (opens new window)

HiuZing

🍑
首页
文档
收藏
关于
  • 在线转换时间戳 (opens new window)
  • 在线压缩图片 (opens new window)
  • Float-Double转二进制 (opens new window)
  • 文件转Hex字符串 (opens new window)
  • 前端面试题

    • Vue

    • 计算机网络

    • CSS

    • JavaScript

    • 小程序

    • 面试

      • 面试记录
      • 业务面试题
        • 总结可能会出现的面试题
  • JavaScript

  • Vue2

  • port

  • CSS

  • Node.js

  • JavaScript优化

  • uniapp

  • Mini Program

  • TypeScript

  • JavaScript 面向对象

  • UI组件

  • Plugin

  • Vue3

  • 性能优化

  • Axios

  • 状态管理

  • React

  • Mock

  • Icon

  • Template

  • 构建工具

  • 项目规范配置

  • Taro

  • SVG

  • React Native

  • Three.js

  • 前端
  • 前端面试题
  • 面试
HiuZing
2026-08-24
目录

业务面试题

# 总结可能会出现的面试题

  1. 介绍一下你的地铁路径规划功能是怎么实现的?

    地铁路径规划主要分为数据层、算法层和展示层。前端主要负责用户输入起点终点、调用路径规划接口、解析返回的数据,并通过页面展示推荐路线。

    后端根据地铁线路、站点关系、换乘关系等数据进行路径计算,返回包含线路、站点、换乘信息以及预计耗时的数据,前端负责渲染路线详情和导航流程。

    • 路径规划算法是什么?

    • 数据来源是什么?

      数据主要来源于地铁线路基础数据,包括线路信息、站点信息、站点经纬度、站点之间连接关系、换乘关系等。

    • 如何计算最优路线?

    • 如何处理换乘?

    • 如何计算时间

  2. 你们的路径规划和普通地图导航有什么区别?

    普通地图导航主要针对道路交通,比如驾车、步行路线规划,而地铁导航主要围绕轨道线路进行计算,需要考虑站点、线路、换乘以及站内路线。

    • 是否考虑站内换乘距离?
    • 是否考虑拥挤程度?
    • 是否考虑上下车位置?
  3. 如何实现推荐用户从哪个屏蔽门上下车?

    这个功能核心是结合车站内部结构数据和换乘路线数据进行计算。

    车站地图数据;站台方向;车门位置;换乘通道位置;出入口位置

    • 需要哪些数据?

    • 如何计算距离?

    • 如何知道车厢位置?

      一般通过线路方向和站台结构数据推算,例如地铁每节车厢停靠位置固定,可以提前维护车厢与站台区域的对应关系。

    • 数据结构如何设计?

  4. 站点查询功能如何实现?

    站点查询主要通过关键词搜索实现,用户输入关键词后,根据站点名称、拼音、简称进行匹配。

    • 搜索怎么做?
    • 模糊搜索如何实现?
    • 是否做关键词缓存?
    • 数据量大怎么办?
  5. 如果有10000个地铁站数据,前端如何优化查询?

    后端分页

  6. 你是如何参与需求分析的?

    首先问想要达成什么效果,再看看是否落地

    追问:

    • 如何拆解需求?

      大需求,拆成小需求

    • 如何评估开发成本?

      时间周期;困难周期;技术栈难度

    • 如何和产品沟通?

  7. Vue3项目目录结构如何设计?

    src

    -api

    -util

    -service

    -component

    -screen

    -hooks

    -section

  8. Vue3项目中为什么使用Pinia?

    更轻量

    追问:

    • Pinia相比Vuex有什么区别?

      直接调用store的方法

    • 如何设计store?

      根据不同类型去设计

      例如状态、信息

    • 如何持久化?

      使用插件

  9. 前端登录鉴权流程是什么?

    首先请求-404-跳转登录页

    追问:

    • Token存哪里?

      Pinia持久化

    • Token过期怎么办?

      接口报404,重新请求

    • Refresh Token了解吗?

  10. axios如何封装请求?

    追问:

    • 请求拦截器做什么?

      统一给请求头携带参数;

    • 响应拦截器做什么?

      当错误的时候统一处理错误提醒

    • 如何统一处理错误?

      在响应拦截器

  11. 路由守卫如何实现?

    继续问:

    • 如何判断登录状态?
    • 如何跳转登录页?
    • 如何处理白名单?
  12. 动态权限菜单怎么实现?

    追问:

    • 后端返回什么数据?
    • 如何生成路由?
    • 如何控制按钮权限?
  13. 如何实现按钮级权限控制?

  14. Vue3中Excel导入如何实现?

    追问:

    • 使用什么库?
    • File对象怎么读取?
    • 如何解析Excel?
    • 如何上传后台?
  15. Excel导入如何判断用户填写的数据是否正确?

    追问:

    • 字段校验怎么做?
    • 类型校验?
    • 必填校验?
    • 重复数据校验?
    • 错误如何反馈?
  16. Excel导出怎么实现?

    追问:

    • 前端生成还是后端生成?
    • 大数据量怎么办?
  17. 浏览器全屏功能如何实现?

    追问:

    • FullScreen API?
    • 如何监听退出?
  18. 全屏状态如何同步?

    追问:

    • 多组件如何知道当前全屏?
  19. 新手引导功能如何实现?

    追问:

    • 使用第三方库还是自己实现?
    • 如何记录用户是否看过?
  20. 如何实现只展示一次新手引导?

  21. Vue3中地图API如何实现?

    追问:

    • 使用什么地图?
    • 如何加载地图?
    • 如何添加marker?
    • 如何绘制路线?
  22. 地图大量Marker如何优化?

    追问:

    • 聚合?
    • Canvas?
    • 降低刷新频率?
  23. ECharts如何封装?

    追问:

    • 如何避免重复初始化?
    • resize怎么处理?
    • 生命周期如何处理?
  24. ECharts数据更新怎么优化?

    追问:

    • setOption区别?
    • 是否销毁chart?
  25. 移动端适配怎么做?

    追问:

    • rem?
    • vw?
    • rpx?
    • flexible?
  26. Taro如何实现多端适配?

    追问:

    • 微信小程序和H5区别?
    • 条件编译?
  27. 页面加载慢如何优化?

    追问:

    • 路由懒加载
    • 图片优化
    • 分包
    • CDN
    • webpack优化
  28. Webpack做过哪些优化?

    追问:

    • Tree Shaking
    • Code Splitting
    • 压缩
    • 缓存
  29. 登录注册流程怎么实现?

    追问:

    • Token管理?
    • 表单校验?
    • 密码加密?
  30. uni-app登录和Web登录有什么区别?

    追问:

    • 微信授权登录?
    • App登录?
  31. Vue表单校验如何实现?

  32. 复杂表单如何设计?

    追问:

    • 动态表单
    • 表单组件封装
  33. ECharts实现设备数据统计怎么做?

    追问:

    • 数据格式?
    • 动态更新?
    • 大数据量优化?
  34. ECharts大量数据如何优化?

    追问:

    • sampling
    • large模式
    • 分页
    • 数据降采样
  35. 40,000台设备数据如何展示?

    追问:

    • 为什么不卡?
    • 前端做了什么优化?
  36. 日采集200万数据如何处理?

    追问:

    • 前端是否直接请求全部数据?
    • 后端如何分页?
    • 数据聚合?
  37. 实时监控数据如何更新?

    追问:

    • WebSocket?
    • SSE?
    • 定时轮询?
  38. uni-app原理了解吗?

    追问:

    • 和微信原生开发区别?
    • 和Taro区别?
  39. uni-app如何调用原生能力?

  40. uni-app如何适配不同平台?

上次更新: 2026/08/24, 15:25:36
面试记录
JavaScript-数据类型

← 面试记录 JavaScript-数据类型→

最近更新
01
React性能优化
08-18
02
记录一些描述
08-18
03
Swift入门
08-17
更多文章>
Theme by Vdoing | Copyright © 2021-2026 WeiXiaojing | 友情链接
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式