T-1M考核(谢震宇)
2022-04-18 09:32:42 9 举报
AI智能生成
工作考核相关
作者其他创作
大纲/内容
一、参与的项目以及实际工作内容说明
1、以参与的项目为例介绍参与的项目具体做什么,项目总体情况;是否有标准化交付项目实施经验,如有补充介绍;
上汽乘用车智能发布平台二期
功能添加:
集群和节点页面导入数据导出模板和导出数据开发,及后期优化
标签页面支持本地创建自定义标签,标签值文本输入创建
Nginx版本号自动获取,根据已经创建的节点关联好集群后自动获取版本号,并做个定时任务
增加批量安装集群下关联节点的Nginx服务的功能,以及安装日志页面
.......
优化bug任务:
修改集群列表页的标签展示方式,相同标签的标签值逗号分隔
编辑集群的节点回写问题,显示已绑定的节点(默认选中)和所有未绑定集群的节点(默认不选中)
正在处理的订单的域名显示问题不显示,只显示已完成订单的域名
域名列表查看配置文件页面首行固定,或者增加一个关闭按钮,修改关闭按钮颜色
.......
验证测试4月1日生产环境升级后提的问题、功能优化和需求
上汽测试环境部署升级
周例会,生产发布会议等
2、简单介绍自己在研发实施过程中了解的哪些组件或者那个服务模块(Ansible、Prometheus、keycloak、ES等),至少介绍1个组件或者一个微服务模块;
(1)了解过虚拟机模块、管理中心模块、Nginx模块等
(2)使用Ansible的地方:Nginx版本号自动获取、批量安装集群下关联节点的Nginx服务的功能
使用方法:声明ScriptRunRequest对象,填充属性连接服务器,执行脚本获得结果
使用方法:声明ScriptRunRequest对象,填充属性连接服务器,执行脚本获得结果
3、详细介绍自己在这个项目中承担的工作是什么?承担的该部分工作是否保质保量完成?中间遇到了什么问题,怎么解决的?
(1)根据智能发布平台二期计划跟踪表分配的任务进行日常开发工作
(2)能保证
(3)基本上我自己都能摸索解决,但是遇到开发技术不能确认的问题找韩亮亮(比如Ansible),遇到业务问题找谢贝,遇到客户环境的账号问题或者一些安装包脚本问题找上汽客户李晗
4、CI/CD过程
1)整个CE平台的代码开发、单元测试等研发过程操作熟练程度;
代码开发和单元测试方面我觉得应该能算赶在计划表进度之前完成了
2)CE代码研发完成后通过Jenkins完成构建发布的过程是否顺利,遇到的问题以及是如何处理的?
上汽的构建发布没有用到Jenkins,但是有了解怎么操作。
3)单个模块的在线和离线升级操作是否操作过,有遇到什么问题不?是怎么解决的?经验简单进行总结说明;
操作过,这个升级流程韩亮亮给我演示过一遍,所以我就记住了,操作过程没遇到过什么问题,主要遇到的问题还是vpn连接问题,解决方法创建了两个vpn,类型不同,一个选择的是自动类型,一个是选择的是预共享密钥。还有在申请虚拟机的时候需要注意ip地址的选择,有些ip地址我的vpn连接不上
4)是否在客户现场测试环境或者生产环境做过模块升级?有遇到什么问题以及如何处理的?
升级过测试环境,客户提出问题通过沟通记录下来解决,生产环境目前未升级过
5、项目组人员介绍:介绍项目组每个人的优点以及值得自己学习的地方,同时提出个人在融入项目组这件事情上有什么值得改进;
刘建强:我们的组长,也是我们组技术难题的解决者,每日带领我们开晨会,经常能在我们的每日任务上根据他老道的经验给出一些建议,帮助我们节省一些时间少走一些弯路
韩亮亮:我工作上的伙伴,技术过硬,也非常耐心,乐于助人,带我入门,我有问题都会第一时间给我解决
谢贝:我们的项目经理,工作能力极强,效率极高,事事有回应件件有着落,整理文档也十分清楚,协调我们开发人员和客户之间也很可靠。
其他组员目前因为项目不关联接触不多,仅每日晨会可以互相聊一下
6、【要求】以PPT形式介绍具体实施内容;
https://processon.com/mindmap/624fa1191efad40789175ff9
二、新人考核了解及执行
1、入职后周报及工时提交执行情况;
每周周报按时提交(本周工作内容、下周工作计划)
2、双轨考核表是否有了解并执行?觉得哪些地方还值得改进;
有了解并执行,可以让考核人员看到排序情况。
三、WIKI学习情况
1、wiki支持门户学习情况,罗列2+个例子介绍你印象比较深刻的wiki,说明印象深刻的原因;
Ansible和后端框架:进入到项目后比较关注的是项目开发中需要用到的wiki,ansible和后端框架中的flyway、mybatis、quartz在每日的开发任务中需要用到。
2、【发表1篇WIKI】自己发表的Wiki文章,如未曾发表给出具体原因?后续如何改进?如果发表了请写出自己发表该文章好的总体感受;是否对自己有提升?时间不够太浪费时间等?
未发表,因为我觉得特别满意的功能或者操作想要分享,后续会找到自己觉得满意的闪光点并且发表wiki
四、前端
1、angular js 常用指令及其作用(说出10个)
(1)ng-repeat:循环,一般用作列表展示,语法 ng-repeat = “item in items”。
(2)ng-app:绑定模块,声明以下区域由Angular JS 接管
(3)ng-model/ng-bind/{{}} :
共同点:进行数据绑定
区别:ng-model 是双向数据绑定 model <==> view ,ng-bind/{{}} 是单向数据绑定,model ==> view
共同点:进行数据绑定
区别:ng-model 是双向数据绑定 model <==> view ,ng-bind/{{}} 是单向数据绑定,model ==> view
(4)ng-init:定义初始值
(5)ng-controller:控制器,定义一个作用域,在控制器里可以编写业务代码,制作函数跟变量,并且使用$scope对象来访问。
(6)ng-show/ng-hide/ng-if:
共同点:控制DOM节点显示或隐藏。
区别:ng-show / ng- hide 是通过改变CSS的display属性来实现的,浏览器查看网页源代码仍然能看到。ng-if 则是移除DOM节点。
共同点:控制DOM节点显示或隐藏。
区别:ng-show / ng- hide 是通过改变CSS的display属性来实现的,浏览器查看网页源代码仍然能看到。ng-if 则是移除DOM节点。
(7)ng-class:绑定 class , 动态改变 DOM 元素展示效果;ng-style : 绑定 style
(8)ng-click:点击事件,触发 js 内绑定方法
(9)ng-options:下拉框
(10)ng-change:值改变时需要执行的操作
2、CE里常用的自定义service及其用法(说出3个)
HttpUtils 封装$http调用
HttpUtils.post、HttpUtils.paging、HttpUtils.download等
FilterSearch 转换搜索框内容
FilterSearch.convert
Notification 弹框通知
Notification.info、Notification.success、Notification.danger
3、CE里常用的自定义指令及其用法(说出3个)
dynamic-table:动态表格
<table dynamic-table>
table-pagination: 分页
<table-pagination pagination="pagination">
filter-tools:查询条件
<filter-tools conditions="conditions" results="filters" search="'true'"
execute="list()">
五、后端
1、CE是如何做数据库版本管理的;
使用Flyway数据库版本管理工具,新增数据库表和修改表结构或者数据填充删除等,都可以在db.migration文件夹下创建一个命名规则为V版本号__修改情况.sql格式的文件,写好对应的sql语句,然后运行项目时更新数据库。
2、CE的注册中心使用的是什么、在哪个工程里;
使用的SpringCloud Netflix框架的组件Eureka,在管理中心这个模块中
3、云管的权限控制是依赖于什么框架实现的,控制菜单及权限的是哪两个文件;
权限控制依赖于shiro框架,菜单由menu.json控制,权限、操作、资源的静态关系在permission.json中定义
4、云管插件加载方式是什么,如何通过云管调用插件内部的方法?
加载方式:利用自定义的ClassLoader来加载jar包;cmp-core -> fit2cloud3.0-commons ->commons-plugin-manager ->PluginManagerAutoConfiguration;docker-compose 文件定义命名的数据卷share-volume
调用方法:(1)通过 cloudProviderManager 获取到对应的Provider后直接调用,注意点:只有在接口ICloudProvider里定义的方法方可使用
(2)通过PluginService executePluginMethod进行反射调用,注意点:定义方法必须传参
(2)通过PluginService executePluginMethod进行反射调用,注意点:定义方法必须传参
5、云管的消息队列是通过什么实现的?
云管的消息队列是用redis的发布订阅模式实现的,management-center发布消息,vm-service消费消息
六、安装部署
1、简述CE云管平台升级部署更新的流程;
(1)执行build.sh脚本(docker build 命令用于使用 Dockerfile 创建镜像;docker save : 将指定镜像保存成 tar 归档文件。)得到一个tar后缀的包
(2)docker images查看镜像创建后连接vpn,登录XFTP7去上传tar包
(3)docker load : 导入使用 docker save 命令导出的镜像。
(4)进入/opt/fit2cloud,vim一下docker-compose.yml文件配置应用程序需要的服务
(5)docker-compose up -d [配置名] :启动服务
(6)docker-compose stop :停止服务。
(7)watch service fit2cloud status:查看服务启动状态
2、是否有独立完成过客户测试/生产环境等安装部署?
完成过测试环境的部署,生产环境跟测试环境部署流程差不多,但是没有实际操作过
(1)执行build.sh脚本(docker build、docker login:登陆到一个Docker远程镜像仓库、docker push:将本地的镜像上传到镜像仓库)
需要注意的是build这里构建的时候会创建一个版本号,之后构建的项目版本以随机生成的版本号为准
需要注意的是build这里构建的时候会创建一个版本号,之后构建的项目版本以随机生成的版本号为准
(2)进入应用工厂(k8s的可视化操作界面),进入预生产环境(测试环境),点击菜单发布,进入采用架构图,双击项目进入组件设计导向。
需要注意的是在第二步中用于构建组件的镜像版本号要跟我们刚刚创建的镜像版本号对应的上。
需要注意的是在第二步中用于构建组件的镜像版本号要跟我们刚刚创建的镜像版本号对应的上。
(3)
3、高可用部署是否有操作过?高可用部署需要注意的事项简单总结下(相关组件的高可用部署);
未操作过,需要注意所有节点上部署环境的一致性,产品版本的一致性,系统时间也需要同步
4、CE平台的高可用部署的特点简单总结下。
1、消除基础架构中的单点故障。2、模块依赖的方方面面的一致性
七、实现原理
1、简述虚机同步实现原理;
点击同步之后到达,management-center模块中的AcccountService.java中的sync同步方法,先验证账号是否有效,然后通过redis发布订阅同步资源。然后vm-service中的获取订阅到CloudAccountSubscriber.Java处理订阅信息,最后到AccountService中开始同步该账号的各项资源。
AccountService.java的syncCloudAccount方法,分别同步各种云上资源,其中包括了同步宿主机(syncCloudHost),同步云主机(syncCloudServer),同步ip(syncIpStatus)等等。
详细可以查看:https://wiki-os.fit2cloud.com/pages/viewpage.action?pageId=2722434
2、简述中间件的实现方式,linux 、windows 安装中间件分别有什么注意点;
可以直接通过网络下载中间件安装,云管上的服务器可以通过云管安装中间件,大多都是执行脚本安装。docker search 可以搜索下载中间件镜像。Linux服务器上还可以通过宝塔面板安装中间键。
注意点:是否有下载过该中间件,下载好后防火墙端口是否打开,linux的文件存放路径比较讲究,windows基本上只需要不放在c盘就行了。如果中间件比较大的话,linux可能会需要磁盘挂载。
注意点:是否有下载过该中间件,下载好后防火墙端口是否打开,linux的文件存放路径比较讲究,windows基本上只需要不放在c盘就行了。如果中间件比较大的话,linux可能会需要磁盘挂载。
3、简述Keycloak 如何对接AD或LDAP;
对接LDAP:在Keycloak中添加ldap provider。然后根据这个文档进行配置:https://wiki-os.fit2cloud.com/pages/viewpage.action?pageId=2721173
配置完成后能从Keycloak看到LDAP的用户。
配置完成后能从Keycloak看到LDAP的用户。
4、其他原理说明:自己挑选一个CE相关的底层实现原理介绍;
国际化i18n,在resource/i18n目录下添加en_US.json、zh_CN.json、zh_TW.json三个文件,这三个文件以json中的key-value格式保存了这个插件需要做翻译的词汇,fit2cloud2.0-commons 的CloudProviderManager 负责加载插件,同时也加载了各个插件的多语言支持,将所有插件的多语言支持都添加到一个 i18nMap 中,先放着备用。
详细可参考:https://wiki-os.fit2cloud.com/pages/viewpage.action?pageId=2720940
八、交付实施人员的基本技能
1、总结说明交付实施人员需要的基本技能
开发能力:熟悉使用前后端技术栈
学习能力:能根据需求和特定的任务学习新的技术和操作,以达到解决问题的目的
沟通能力:能和客户达成愉快友好的沟通
实施运维:掌握一定程度的运维技能
熟悉业务:对云管业务的熟悉,主要熟悉管理中心模块和虚拟机模块,以及你做过的模块业务相关
九、自我学习总结
1、综合评价该工作对自己而言是比较简单、一般还是比较难相当有挑战。
目前我觉得以我的能力要学的还有很多,所以还是相当有挑战的。
2、认为在1个月的研发实施过程中,自己的成长以及未来还有很大提升空间的地方在哪里,未来计划如何提升?
这一个月以来对我的成长是全方面的,无论是沟通方面的每日会议,和一些技术业务上的交流,以及新技术的掌握,运维部署的学习,我都有了一点进步。
未来要学习的地方还有很多,目前想全面一点学习,可能未来能轻松面对日常工作之后希望专精一个方面,先立一个目标,然后多记录日常工作学习,稳扎稳打的进步。
未来要学习的地方还有很多,目前想全面一点学习,可能未来能轻松面对日常工作之后希望专精一个方面,先立一个目标,然后多记录日常工作学习,稳扎稳打的进步。
3、简要说明T+3M考核内容如何。
我这边就简述与T-1M考核不同点的,1、wiki需要发表两篇;2、项目交付实施过程中的需要掌握的软硬技能,分别掌握情况如何,举例说明
3、介绍如何实现Elasticsearch 、Prometheus集群搭建;介绍如何通过Nginx/Keepalived完成CE平台的高可用部署;4、后端:插件开发
5、技能学习:ES基本查询语句、PromQL 基本查询语句、Ansible学习 6、模块学习:堡垒机对接模块、公有云费用模块、监控模块及其他非虚拟机服务模块、管理中心模块的其他模块任选其一,介绍其底层实现逻辑。
3、介绍如何实现Elasticsearch 、Prometheus集群搭建;介绍如何通过Nginx/Keepalived完成CE平台的高可用部署;4、后端:插件开发
5、技能学习:ES基本查询语句、PromQL 基本查询语句、Ansible学习 6、模块学习:堡垒机对接模块、公有云费用模块、监控模块及其他非虚拟机服务模块、管理中心模块的其他模块任选其一,介绍其底层实现逻辑。
十、考核改进提升
1、在新人培养方面觉得FIT2CLOUD飞致云还有哪些是可以提升和改进的?
我觉得飞致云已经在慢慢完善培养的资料和制度了,到后面培训项目等相关资料肯定会更详细更广泛,已经很好了。如果未来人手有空闲的,新人够多的话我觉得可以暂时设置一个培训专员,可以多录制视频讲解在云管开发中的技术,和在实施运维中的操作,并整理这方面相关文档和视频,以后新人进来培训肯定能更简便。
2、交付组安排的每周五分享是否对你有用,觉得那些地方还可以改进
有用,即使现在用不到但是可以先有个概念知道同事之间在做些什么,而且还有视频,以后遇到类似问题的时候可以看相关视频再学习。
收藏
0 条评论
下一页