全网最全,华为可信专业级认证介绍

news2024/10/5 17:22:01

1:华为可信专业级认证是什么?

        华为在推动技术人员的可信认证,算是一项安全合规的工作。专业级有哪些考试呢?共有四门:

科目一:上级编程,对比力扣2道中等、1道困难;
科目二:编程知识与应用,考察基础的编程语言知识等;
科目三:安全编程、质量、隐私,还有开发者测试等;
科目四:重构知识,包括设计模式、代码重构等。

        科目一是两道偏难的中等和一道困难,这个难度还是相当大的,基本上不认真刷一个月题是做不出来的。科二、科三、科四到还好,主要是了解一下在代码之上的一些东西。

 

2:考试有什么限制?

        可信专业级分四个科目(以开发岗OD为例),科一编程,相当于LeetCode 2mid 1hard,科二软件编程知识使用(客观题),科三软件工程技术(客观题,最容易通过),科四软件重构(客观题),所有科目每季度最多考2次,科三一年最多考5次,其余科目一年最多考4次

3:每个人考的有区别吗?

        华为可信考试主要考察研发类岗位上的员工的能力,这个考试有三个级别,入门级、工作级、专业级,难度由浅到深,每个员工都需要考过自己职级所对应的级别考试,而每个级别下的考试又分成了四个科目,可能是套用的考驾照的四个科目吧。需要注意的是这个考试每年都要考,正式员工考过了才能谈升职加薪的事,OD考过了才能谈转成正式员工的事,所以说这个考试非常重要。最近以及接下来的很长时间我都要上网课、练习、模拟考试。今天听了科目一的培训感觉还行,不是很难,但听说科目一是挂科率第一二高的科目了,不过从一同培训的同事提出的一些问题来看,华为员工的代码能力可能真的比较一般,但是他们的学习氛围还是挺好的,我感觉自己只要好好干应该差不了,等我考过可信考试专业级吧,我回来给大家报喜。

4:有实际的经验分享吗?

《来自华为心声社区》

        曾几何时,可信成了华为软件工程师口口相传的热词,它出现在罗马广场心声社区上,出现在我们的技术规范要求中,出现在我们的编码里,同样出现在让人头疼的考试里……

回首过去两年的可信历程,从被迫接受,到半信半疑,到潜移默化,可信慢慢地融入到开发的流程、代码和意识中。今天,我来说说,我与可信之间的故事……

你好,可信
“今天晚上会议的主题是:可信。”明亮的会议室灯光下,主管敲着黑板说的话。

“最重要的是,大家先背下可信的六大特性:安全(security),安全(safety),韧性(resilience),隐私性(Privacy),可靠性(Reliability),可用性(Availability)……”

“总之,我们的产品就是要做到让客户感到充满安全感,让对手感到绝望,让攻击者无路可走,在经受层层打击下,还有自我恢复的能力。”这是主管的总结发言。

这是我印象中第一次接触可信这个概念,谈不上印象深刻,就是知道我们要干一件更牛的事,我们的产品已经不满足于功能的实现了,还要像“超人”的钢铁之躯一样强大,顺带的,要背下六大特性。

当时,某国某日报突然发布了一篇文章,号称使用先进的二进制工具,对华为各产品线发布的众多二进制程序包进行了逆向扫描分析(就如同拿到市面上一瓶新款可乐,通过品尝、化验、观察反推其配方比例,还推测其使用的某种原料可能有问题),最终结论是华为产品安全性远低于友商。

对于这种质疑文章,我们要从技术上,逐一进行分析。于是,以可信专家牵头,产品各领域投入了精兵强将,对文章中列举的各项数据进行了严谨分析,我也有幸加入了“战斗”。

在封闭作战室,经过一周的反复代码分析、统计、检查、阅读,我的心态慢慢地发生了变化。比如,一些老版本的内存操作函数接口参数上没有约束,新手在粗心的情况下是可输入错误的参数,进而造成潜在的安全风险(虽然检查后发现实际并没有这样的错误使用),这是存在改进空间的。令人欣慰的是,我们新版本的函数从接口上约束使用者无法输入错误参数,并统一使用公司的安全函数库,避免了各部门重复“造轮子”。

另外引起我思考的是,第三方机构在没有我司源代码的情况下,都可以通过逆向技术,挖掘出我们多个可能潜在的安全突破口,我们真做到“可信”了吗?

他山之石,可以攻玉。日报事件引起我们对“可信”的反思,比内部100个发文更加震撼,并让我们深刻意识到:在这个技术飞速发展的今天,拿到二进制执行程序,就相当于拿到源代码。我们必须抱着开源的心态,构建我们代码的可信性。

刷新“可信”认知
安全实验室有一批专家的工作就是对产品源代码以超过业界标准的严苛要求,进行“挖地三尺”的挑战,提出让人感到“吹毛求疵”的整改任务,以这样一种特殊方式不断提升产品品质。有一天我收到一个印象很深刻的任务。

“这是我们内部通信的消息处理函数,这里有一堆数值校验还不够么,还要进行全面的安全校验吗?是不是有点过了?这个东西对外没有物理通道接口,非标准的协议,对方是如何知道我们的通信格式?”拿到那个任务的时候,我一开始是挺不以为然的,这种感觉就像是在一个层层保护、守备森严的堡垒中的两个人之间使用一种内部语言交谈前,还要先检查下对方是否“安全”了

最后,安全专家说服了我,他列举了两个事实:第一,安全实验室已证实在某些极端条件下可通过下层挂接设备攻破侵入上级设备的子系统,第二,在这个时代,拿到二进制程序就相当于拿到源代码。所以,从理论上,破坏者是可以侵入并且构造让系统异常的内部通信消息报文的。

这再一次刷新了我对“安全可信”的认知,原来,我们以前认为的安全,并不是真正持久的安全。针对此事,我们不仅把这一批问题全部整改,还举一反三,把代码中类似的场景都进行了整改。后续,经此次的启发,产品还集中专家,针对下层设备和上层设备之间的通信,专门做了系统级的安全加固。看着经过层层加固的代码,大家都舒了一口气,至少现在我们的产品,就算被攻破一个子系统,也不会影响到整个系统。我们开始迈入多防线安全时代。

这让我想起了可信的一个特性:韧性(resilience)。我们的产品正在向这样一种形态转变,它就像水密隔舱技术,哪怕部分系统遭到破坏,整艘大船依旧可以继续航行,至少这是我们努力的方向。

“恼人”的可信考试
作为软件工程师,可信考试一段时间以来一直是绕不过的一个话题。每听到科目一、科目二、科目三、科目四的时候,恍如回到考驾照时光,某种意义上,这确实是持证上岗。

在华为内部,对于可信考试的感觉可谓是“爱恨交加”,但是对我自己来说,考完了所有科目再回首,蓦然发现别有洞天:

穿越科目一数据结构和算法的海洋,重新对BFS/DFS(广度优先搜索/深度优先搜索)等算法有了更深刻的理解;

在科目二里翻阅最新的编程规范和安全规范,发现在简短朴实的语言中,已经包含了重要的“Clean Code”(整洁代码)指导,包括命名规则、函数和文件长度、圈复杂度等;

在科目三惊奇地发现,大名鼎鼎的开源居然有那么多商业限制,代码会受感染,在享受便利的时候也要付出;在平时没关注到的编译过程里,居然存在那么多的安全编译选项,可以在更底层上加强可执行程序的安全性;

在科目四中重读设计模式又有新的体会,CSEC的黄金法则言简意赅,确实是有效的安全指引,纷繁复杂的密码算法都是出于历史的不断需求迭代。

不仅是我自己,随着身边同事们一个个通过考试拿到证书,越来越少听到对可信考试的吐槽,相反可以明显感觉到大家的编码能力、可信意识有了质的飞越。毕竟,唯有努力和汗水从不骗人!

“戴着脚镣跳舞”
如火如荼的项目开发工作是软件工程师的日常,有一天我突然看到一个让我眼前一亮的OKR(Objectives and Key Results,目标与关键成果,一种绩效管理方法)个人目标:“达成可信交付目标,编码过程遵守可信规范,交付高质量的代码”,这是组内成员小杨在一个样机开发项目中提出的一个目标。我惊讶地发现,大家已经从被动到主动,潜移默化地把可信编码要求带入到日常工作之中,我的内心有点欣喜。

 

后面组内收集能力提升培训需求时,小杨提出希望能组织培训下最新的编程规范实战经验。“你不是刚通过可信认证全部考试,拿到证书了吗,科目二不是刚考过么?”我笑着问他。“最近规范又有点变动了,马上要做一个新的预研项目了,想找几个资深的研发来分享下他们项目中规范编码最佳实践,我觉得这个挺重要的。”他说道。

对于项目而言,时间永远是“不够”的,每个研发的潜意识里总是焦虑着能否更快的提交代码。然而有一天,小杨找我说,希望给他正在做的预研项目代码仓库加上全套门禁系统,正式在研版本代码提交是必须经过一套复杂门禁系统检查的,而一般预研或者样机项目,更加注重效率和成果。“你这是打算戴着脚镣跳舞啊。”我对他说道。“这样更加安全可靠,代码质量更好,能够直接拦截不合法合入,人都是容易松懈的,有个工具来约束下挺好,顶多我多加点班。”他笑道。

而可信的意识,也给小杨带来了回报——最近他获得了我们部门的“质量之星”荣誉,在其关键质量表现描述上,第一条就是:“在xx项目中累计提交xxK+高质量代码,无遗留问题;xx项目版本,在xx研究院实验室、xx&xx现网等测试过程中,特性稳定,客户满意”。

始于心,终于行,千里之行,始于足下。

行动决定了结果,而思想决定了行动。回首这一路,“可信”之路并不轻松,大家痛苦地前行,但是一路都能收获到努力的果实。我觉得,把可信的思想融入广大软件工程师的灵魂,再用意识之水浇灌产品的可信之花,我们终究会迎来“可信”的明天!

感悟
虽然现在大家好像都不太喜欢考试,好像考试都是应试教育那一套,但是就我自己的学习经验而言,只有你把你学的内容当做考试时,才可以学的透彻,了解各种变化,了解各种细节,这不就是基础吗?当然对于编程来说,除了要基础好,还要多写代码,毕竟这也是一个手艺活,熟能生巧。

打好基础加多练,基本上可以解决大部分问题。


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/716926.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ STL --哈希表

目录 1. unordered系列关联式容器 1.1 unordered_map 1.1.1 unordered_map的文档介绍 1.1.2 unordered_map的接口说明 1.2 unordered_set 1.3 在线OJ 2. 底层结构 2.1 哈希概念 2.2 哈希冲突 2.3 哈希函数 2.4 哈希冲突解决 2.4.1 闭散列 2.4.2 开散列 3. 模拟实现…

中学生用什么样护眼台灯好?适合暑假学习的护眼台灯推荐

终于到了暑假,本来是有大把的“娱乐”时间,可现在看来此“娱乐”和正常出门玩耍的娱乐不太一样。不管是大学生还是中小学生,不少孩子不再出门玩耍,而是宅在家空调WiFi西瓜,抱着手机往那一趴。加上平时还需要抽出时间完…

DatenLord前沿技术分享 No.29

达坦科技专注于打造新一代开源跨云存储平台DatenLord,通过软硬件深度融合的方式打通云云壁垒,致力于解决多云架构、多数据中心场景下异构存储、数据统一管理需求等问题,以满足不同行业客户对海量数据跨云、跨数据中心高性能访问的需求。BSV的…

自动化测试selenium篇(二)

需要掌握selenium 常用API的使用 一、元素定位 1.1css选择器语法 1.1.1 类选择器(class选择器) 语法 : .class属性值{} 作用 : 选中对应class属性值的元素 1.1.2 id选择器 语法 : #id属性值{} 作用 : 选中对应id属性值的元素 1.1.3 标签选择器 标签选择器会选择页面上…

https技术鉴赏

视频网址:https://www.bilibili.com/video/BV1uY4y1D7Ng 总结起来:先使用非对称加密,再使用对称加密,这样就避免了明文传输。 非对称加密的作用是协商对称加密的公钥 SSL流程图大概如下: 这只是一个最简单的SSL版本,…

Small Outline Package(小外形封装)和Quad Flat Package(四边引线扁平封装)

1.Small Outline Package(小外形封装) SOP封装图片 SOP技术是飞利浦公司开发成功,以后逐渐派生出SOJ、TSOP、VSOP、SSOP、TSSOP、SOT、SOIC等封装形式。SOP是表面贴装型封装的一种,引脚从封装两侧引出,呈海鸥状形。其…

JS知识点汇总(十一)--事件模型

1. JavaScript中的事件模型有哪些 1、事件与事件流 javascript中的事件,可以理解就是在HTML文档或者浏览器中发生的一种交互操作,使得网页具备互动性, 常见的有加载事件、鼠标事件、自定义事件等 由于DOM是一个树结构,如果在父…

《面向分布式云的直播及点播云技术创新方案》获中国信通院“分布式云技术创新先锋案例”

由中国信息通信研究院、中国通信标准化协会主办的第三届“云边协同大会”于 6 月 30 日在京举办。阿里云视频云团队凭借 《面向分布式云的直播及点播云技术创新方案》 在一众产品服务中脱颖而出,荣获「分布式云技术创新先锋案例」。 面向分布式云技术的直播及点播云…

驱动控制STM32LED灯的两秒,亮灭

控制LED灯的亮灭 head.h #ifndef __HEAD_H__ #define __HEAD_H__#define PHY_LED1_MODER 0X50006000 #define PHY_LED1_ODR 0X50006014 #define PHY_LED2_MODER 0X50007000 #define PHY_LED2_ODR 0X50007014 #define PHY_LED3_MODER 0X50006000 #define PHY_LED3_ODR 0X50006…

机器学习17:训练神经网络-反向传播算法

反向传播算法对于快速训练大型神经网络至关重要。本文将介绍算法的工作原理。 目录 1.简单的神经网络 2.激活函数 3.错误函数 4.正向传播 4.1 更新隐藏层 5.反向传播 5.1 求导数 5.2 其他导数 5.3 反向传播误差倒数 6.参考文献 1.简单的神经网络 如图 1 所示&#…

中电金信发布源启·数字构建平台

6月28日,中电金信发布源启数字构建平台。源启数字构建平台是企业级研发全生命周期支持管理平台、工程平台、工具链平台。 面向金融等重点行业超大规模、超复杂度的数字化应用,源启数字构建平台通过灵活、强大的平台赋能,端到端支持应用研发全…

Acunetix v23.6 (Linux, Windows) - 漏洞扫描 (Web 应用程序安全测试)

Acunetix v23.6 (Linux, Windows) - 漏洞扫描 (Web 应用程序安全测试) Acunetix | Web Application Security Scanner 请访问原文链接:https://sysin.org/blog/acunetix-23/,查看最新版。原创作品,转载请保留出处。 作者主页:s…

笔记:flutter中一些流行的 UI 相关库

笔记:flutter中一些流行的 UI 相关库 CSDN:https://jclee95.blog.csdn.net本文收录了很多在 flutter pub 上显示流行度较高的第三方UI库和UI框架,对它们的效果进行了截图,目的是方便开发时进行查找;这些模块多数来自于…

Redis详细

Redis简介 Redis的数据类型 Redis中的常用指令 通用指令 字符串操作指令 set num 1 get num setex num1 10 1 get num1 incr num incrby num 3 decr num decrby num 3哈希操作命令 列表(List)操作命令 rpoplpush source dest 将source中的末尾元素移除…

如何编写一条高质量测试用例

测试场景: 为登录功能设计测试用例 测试员为什么要会编测试用例 测试员的目标是要保证系统在各种场景下的功能是符合设计要求的。而测试用例就是测试员想到的测试场景。(这也是高级别的测试员即使不会代码也能找到较好工作的原因) 编写测试…

视频编码压缩基础

视频编码压缩基础 文章目录 视频编码压缩基础视频图像的质量评价帧率、分辨率和码率三者之间的关系 环路滤波研究背景 视频图像的质量评价 采用有损压缩的技术能显著降低码率,但是也会降低视频图像的质量,因此对于有损压缩算法,需要建立一套…

【FFmpeg实战】Flutter音视频裁剪

作者:JianLee 链接:https://www.jianshu.com/p/868c8536a9b2 flutter_ffmpeg是什么? ffmpeg是一个音视频处理库,通过命令行的形式,对音视频进行处理,而MobileFFmpeg 则是ffmpeg在移动端的实现,…

ipa上架App Store【uniapp-ios】

前置条件:已获取到.mobileprovision描述文件、.p12证书并打包生成ipa包 (如果还没获取证书、描述文件等可以去看我前两篇博客:uniapp-ios打包步骤 、uniapp-ios打包安装测试。一篇是已经付费了即已经注册了Apple Developer Program&#xf…

迈瑞BC系列出图汇总

迈瑞的几个仪器出图需要画图,搞的很费劲,没办法,厂商自己不改,明明有图发Base64串的,就非两个图要自己画,画的方法又描述不清。每个LIS厂商都要浪费很多时间,没什么必要浪费在这种没意义的事情上…

Cannot find tomcat-9.0.0.M21/bin/setclasspath.sh

问题描述:将linux上的tomcat直接拷贝到以一个路径下,执行sh startup.sh 报错 解决:修改全局变量配置文件 1、vim /etc/profile (主要修改如下图所标记的值 ) 2、source /etc/profile (设置环境变量立即…