技术官之面
工程化、项目难点细化、技术点原理性组织语言需要描述好
在公司干什么?
-
1、这个公司是干什么的?
- 上一家公司是xxx公司,家公司是做B端科技产品供应链的
-
2、我的主要职责是什么?
- 负责B端产品的研发与一些工程化的工作,核心技术栈是React
介绍自己的项目
引导面试官往自己擅长的项目问
- 我筛选了几个参与度比较高的项目写在了简历中项目经历这一栏,面试官您可以看下
需要问的问题
- 前端团队有多少人 【团队规模】
- 公司这边的技术栈的主要是哪些呢
- 主要是做产品还是项目?
- 前端有相关培训吗
- 公司会定期对代码review吗
- 公司主要是做什么业务方向?
- 需要出差吗?需要驻场的吗
- 合同是签这家公司吗
- 福利待遇的情况?
- 绩效、提成、奖金、年终奖
- 加班情况是怎么样?
- 公司有考核吗
- 公司晋升制度怎么样?
如何做review
- 最注重的是代码的可维护性(变量命名、注释、函数单一性原则等)
- 扩展性:封装能力(组件、代码逻辑是否可复用、可扩展性)
- ES 新特性(es6+ 、ES2020, ES2021 可选链、at)
- 函数使用规范(比如遇到用 map 拿来当 forEach 用的)
- 变量使用规范 (var let const的使用)
- 性能提升,怎样运用算法,写出更加优雅,性能更好的代码
- 容错性处理 (对获取数据以及操作方法的时候进行容错性处理,有时候后端返回的数据可能为null的情况,前端需要判空的情况,否则会出现报错一些错误)
如何管理团队
- 落实开发规范
- 团队分工
- 代码质量保证
- 每周会review他们的代码,也会组织交叉 review 代码
- 技术分享
对公司有什么要求?
- 公司的企业文化,氛围环境情况
- 业务、技术的发展
- 项目/产品问题
- 技术分享
- 具备工程化规范、技术规范等
- 是否有晋升、调薪相关的
团队规模
- 1、整个公司 前端有五六十人,根据不同业务线来划分小组的,研发一组、研发二组、研发三组这样
- 每个小组对应不同业务线
- 一个小组大概十几人左右
- 有时候其他组需求比较紧急的情况,也会去协调的
- 组内需求比较紧急的时候,也会参与这个资源的协调分配
做过哪些平台
-
saas平台系统
-
软件交付模型,提供软件给客户去使用
-
SAAS平台可以同时为多个用户提供服务,每个用户的数据彼此隔离
-
-
ERP系统 (Enterprise Resource Planning)
- 企业管理软件系统
- 财务管理、供应链管理、人力资源管理
- 企业管理软件系统
算法这块怎么样
- 算法这块没有了解特别深入,(因为我本身是专科出身,没有奢求去大厂,没有怎么去刷过这个算法)
- 我主要是对靠实战项目的能力、以及对技术的深入
平时是如何学习的
我们做开发的,基本上每天只要有时间,都会去学习
- 现在技术更新很快,需要保持这种学习的状态,会关注主流的前端技术框架的更新,新特性
- 会看官网文档、以及开源的项目、还有博客这样子
- 会指定目标规划 (比如要学习electron桌面端、app开发,规定自己一个学习周期)
职业规划
- 往业务方向去深入,技术只是去辅助业务
- 技术方面,往大前端方向去深入
谈谈技术如何对业务理解
- 需求文档,需求背景、需求目的,能带来什么效益
- 加强沟通合作 (前后端、产品、测试)
- 有问题时,沟通过程中, 也会加深对需求业务的理解
谈谈技术
- 提高竞争力,掌握多个框架
- 比如后端 => php、go、java都需要掌握,才是毕竟全面的后端
- 客户端 => 原生,flutter都要会
- 前端 => 各种框架、跨端、小程序、移动端熟悉
- 这也是趋势,一个人可以开发多个端口
- 提高技术的深度和广度
- 目前ai的趋势,多了解ai相关
- 多看技术源码实现,提高自己的技术的深度和广度
- 多复盘总结
- 遇到问题,通过复盘总结来提高对项目业务的理解,以及技术实现上是否还能更优化
- 持久性、持续性学习
- 技术在不断地更新,需要持续性的学习,不要一直还停留之前的技术,不然容易淘汰
- 需要不断创新,引入新技术,给项目带来更好的体验和提升
说说你的开源项目,看你的代码挺简单的
- 组件代码是不难的,主要实现是思路,以及能够解决业务场景,做这个taro组件已经2年前了,但是社区生态很少这种组件,但是业务场景还是挺常见的,所有就写了这个组件,并且开源出去,发现还是挺多人用的,我觉得肯去做这件事,是有意义的、有价值的
- 实现组件,要考虑场景、兼容性、适配性也是花了一段时间去解决