关于前端:前端开发如何快速了解新业务

6次阅读

共计 2213 个字符,预计需要花费 6 分钟才能阅读完成。

最近接触新业务较多,对于理解新业务有一点感想,总结如下:

1. 比理解新业务代码更重要的是要理解新业务,比理解新业务更重要的是业务意识
2. 如果是业务开发,毕业前三年更应该关注于技术以及技术细节,三到五年技术业务并重,五年当前业务为主

以下是对于如何疾速相熟新业务的一些经验之谈.

工具

工欲善其事,必先利其器。

Chrome 多用户模式

不便多个 (大于两个) 用户切换 (管理员 / 用户 / 各种角色)

业务数据库权限 (生产环境)

最好可能领有线上数据库权限,领有最实在的数据,人往往会对不合理假数据本能排挤。

数据库是理解业务最快的形式

日志零碎 (或者 APM)

在须要理解某个业务细节时,能够利用日志零碎

  1. 在前端进行页面交互,找出要害申请
  2. 找出要害申请的 requestId (sessionId/transactionId/logId/trackId 等各种名字)
  3. 依据 requestId 在日志零碎 (或者 APM) 中找到对应的 SQL/redis-command/requests (次要是 SQL)

如果没有 requestId 怎么办?

那只能认真去看代码了

代码仓库

孙子兵法云: 上兵伐谋,其次伐交,其次伐兵,其下攻城。

在相熟新业务时,最上者点来点去相熟零碎,其次与别人交换,其次点页面查 SQL,最下看代码。

代码以服务器端代码为主,疾速浏览以下文件:

  1. router: 用以定位业务细节的具体逻辑
  2. 业务逻辑层: 依据 router 点进来后的具体业务逻辑,因为层层嵌套,可能须要点上几十次。 理解代码的具体组织构造,当有须要时再去深刻理解
  3. constant:  理解业务中各种资源的类型,状态,状态机,以及与数据库字段的对应 (数据库可能存储为 enum, 也有可能是 int)。其中代表的数据比这些数据在编码中怎么用更为重要,当然两者严密相连

对于 constant,最好应用 enum 而非数字保护.

理解业务

理解业务类型

你当初负责的业务的用户是谁?

  • 有可能是面向各个离散的无互相关联的 C 端用户
  • 也有可能是服务于各大企业 (组织 / 机构) 的 B 端用户。
  • 也有可能是服务于宽广公司内共事,比方给运维应用的运维平台,给销售应用的 CRM,给 QA 的测试平台,还有 MIS,OA 等等此类
  • 还有可能是用户服务,订单服务,数据服务,商品服务等

不同的业务类型就有不同的工作重心,比方 toB 轻浮,toC 活跃,对内能看就行 …

你当初负责的业务如何来钱

这也是一个关键问题

理解零碎

理解该业务所波及到的外围零碎,与业务类型相干。我简略分为两类

  • 前台零碎:面向用户,toC 面向宽广用户,toB 面向企业与企业员工,toB 面向使用者
  • 后盾零碎:面向管理员,就是常说的后盾管理系统

相熟零碎次要流程并实操

理解用户的高频操作,次要路径点点点和不懂就问。有些高频操作,须要后盾管理员以及各个角色配合, 这时能够在多用户的 Chrome 中进行操作

  • 比方知乎的发问,答题,评论,点赞到后盾的帖子治理封禁等
  • OA 零碎的流程发动,以及各个角色的审批
  • CRM 的商机,订单,工单操作

理解零碎边界

因为微服务的风行,新业务的所有数据有可能来自于根底服务。在熟悉业务过程中,有必要理解哪些数据本人保护,哪些保护在私有服务

  • 用户数据由业务内保护还是用户服务
  • 订单数据由业务内保护还是订单服务
  • 诸如此类

理解边界零碎

即以上所述的用户服务零碎或者订单服务零碎。理解罕用的表,有必要时能够申请数据库权限

理解用户以及权限 (用户 / 管理员 / 角色 / 企业)

理解业务内有什么权限,以及每个权限组成的角色。

能够含糊分为以下几个表,须要重点关注

  1. permission: 权限表
  2. role: 角色表
  3. user: 用户表
  4. organization: 企业 / 机构表

另外还须要理解用户登录以及注册过程,有没有第三方登录,以及 toB 方的自家用户零碎的接入

理解数据

比如何查 SQL 更重要的是数据自身,有必要时能够记住,比方:

  1. 大客户 id 以及 name
  2. 深度用户的 id 以及 name
  3. 次要资源 / 内容的 id
  4. 次要资源 / 内容的 status/type (参照 enum/constant 文件)

以下是常见的一些数据以及 SQL 操作,次要针对一些常量与次要业务

-- 理解用户量,必要时能够记住...
select count(*) from users wehre is_deleted = false

-- 理解某项业务的字段
\d business
select * from business order by id limit 1

-- 理解目前为止该业务有多大量数据
select count(*) from business

-- 理解某项业务的各个状态,以及散布
select status, count(*) from business group by status order by count desc

-- 理解某项业务的各个类型,以及散布
select type, count(*) from business group by type order by count desc

数据系统

如果对系统接入了 GA/ 神策 /GrowingIO 等数据统计零碎,进入零碎理解并记住重要数据,理解用户对系统的应用深度以及常见业务的应用状况。

如果没有接入数据系统怎么办? 参考上一条,手动查 SQL

最初

我在工作之余整顿了一份大厂常见的前端面试题,其中蕴含 HTML、CSS、JavaScript、服务端与网络、Vue、浏览器等等,收费分享给大家,还在继续整顿收集整理中,有须要的敌人 点击这里收费支付题目 + 解析 PDF。

篇幅无限,仅展现局部内容

心愿大家明年的金三银四面试顺利,拿下本人心仪的 offer!

正文完
 0