/images/author.jpg

Notion 添加脑图、流程图

背景 最近发现一个特别好用的笔记记录工具nation,可以使用无限套娃的形式记录笔记,有兴趣的可以试试。 言归正传,本文主要记录如何Notion钟添加流程图或者思维导图。 其实Notion本身是不支持直接画图的,但是它最强大的地方就是可以无限链接数据,本文记录的也是他的链接功能的一种,有点取巧。 实践 Process on 画图 首先在 Process on 上面创建一份流程图,不熟悉 Process on的可以了解一下,是一个非常强大的在线画图工具,基本上支持常见的所有图形画制。 画好图后点击右上角的分享按钮就可以获取到浏览链接。 The Stormtroopocatimg " The Stormtroopocat The StormtroopocatAlt text " The Stormtroopocat 将图片链接到Notion笔记中 Notion中支持图片预览功能的组件有很多,比如Abstract, Image 等等。 博主这里选择的是 Image,使用链接的方式: 原因有两个: 原生图片 大小缩放更方便 预览图如下: The StormtroopocatAlt text " The Stormtroopocat

Interview :软件工程

软件工程 性能测试 执行计划 性能测试如何开展 能测试需要合理的计划和有条理的步骤,不能随意得出结论,性能测试的大概步骤如下。 1)明确测试目的。 2)设计测试模型。 3)准备测试集群环境。 4)准备压力测试工具或编写压力测试脚本。 5)明确性能指标并加以监控。 6)根据2)设计的测试模型准备测试数据。 7)测试执行。 8)测试分析。 性能测试怎么进行 主要测试什么东西(部署环境(制作包/安装)/压测/出测试报告) 性能测试流程 性能测试流程 性能测试过程-主要做了什么 性能测试怎么做 基础指标 内存指标 内存指标性能表现 线程状态 系统负载指标 负载查看 性能 buffer / cache 数据库 binlog 数据库慢查询日志 QPS 每秒查询事务数(每秒处理事务数) TPS 每秒处理事务数 补充:不同的用例设计方式,事务数计算方式会有较大区别 测试工具 Jmeter测试框架 有没有自己开发插件 Jmeter特定的加密方式插件代码开发 使用Jmeter过程中有没有遇到什么问题(不支持同一个接口不同加密方式) 应用场景 线上数据TCP导流如何完成 真实流量导流 基础概念 性能基准测试 性能问题 性能问题发现 数据一致性,先通知,然后commit,然后服务b反查之前的数据是否提交成功 CPU无法跑满,可能会有哪些问题 CPU性能太强了,没有什么问题 带宽不够,请求发送不进来 句柄数配置问题,无法进行更多的资源分配 CPU配置问题,没有给当前用户配置太多的资源使用权限 IO问题,较大的磁盘IO限制了CPU的切换 内存成为瓶颈 CPU监控存在问题 性能优化——没有整理相关的东西(金斧子) 性能测试工具链详情 性能测试,能否更深入(无资源,给你资源,怎么深入) 自动化 测试报告 自动化测试报告 使用的就是pytest + allure/ unitest +htmlrunner 测试数据 怎么保证测试数据的一致性 每一个自动化用例都不应该对测试环境造成影响 如何保证数据唯一 测试前 如何准备测试数据 测试断言 如何进行数据准确性验证 测试策略 自动化设计流程,如何避免反复修改 从源头制定规范 接口自动化怎么做的 使用RF、goconvey、ginkgo等等手段 透露出我现在用的什么做的 测试框架 jmeter + ant + Jenkins 框架实现细节 接口自动化做了什么,产生了什么效果 自动化编写工具的编写、标准规范的制定、覆盖率的推广应用 接口测试怎么测试(自动化怎么获取登录状态、怎么校验正确性) selenium 源码原理 selenium定位元素用的最多的是什么 id、path 定位方式,遇到的问题(显示等待、隐式等待),XPath优缺点 落地过程中遇到的问题 数据污染问题:

Interview:人生规划

人生规划 offer待遇 前的薪资、福利等情况,其他公司,在职与否 有没有拿到其他的offer 给出一些概括性的数据 比如金融行业,公司规模 比如云计算行业,公司规模 共有问题 在项目中的定位(和其他同事) 技术上的定位 其他工作内容的定位 对加班怎么看 有什么想问我们的 没有回答上来的问题,自己表现得怎么样 兴趣爱好 遇事处理 遇到不能解决的问题(先自己动手,不能解决寻求帮助,上升到团队凝聚力) 先自己动手、半小时内解决不了就会拉上开发同学帮忙解决,如果还解决不了,就会在群里找解决方案 遇到的最大的困难是什么 转测试延期、流程规范 前后端开发进度不一致,未联调就提测,返工,工作量巨大 怎样学习新的技术 怎么去学习一个新东西(需求驱动、找资料、选择合适的教程) 心态 你觉得你最大的缺点是什么? 不知如何拒绝,同事要求帮忙一概揽下,有时候影响自身工作进度,加班到深夜。这也和我的工具链比较丰富有关,同事们遇到问题第一时间会想到我。(https://www.zhihu.com/question/20887129) 你最大的优势是什么(学习能力和能做的事情) 比较爱钻研,工具链实践比较丰富,代码能力尚可,能把工具有序的串联起来 怎么样学习一个新的东西?–(先做起来,再理解?) 感觉最有成就感的事情是什么 给大家分享,更多的体现了自己的价值 有什么欠缺的地方 合作精神 别人承担责任的事情,大胆做,别非暴力不合作 责任心态:领导不关心过程,错了就是错了,谁错的不重要,只要结果是错的 【心语】达到生活中真实幸福的最好手段,是像蜘蛛那样,漫无限制地从自身向四面八方撒放有粘力的爱的蛛网,从中随便捕捉落到网上的一切。—列夫·托尔斯泰 子主题 6 警句 狡辩、推卸责任、拿个例进行举证 做事 1,学习上 先记录,在记忆 2,沟通上 先求同,再存异 3,人际上 先交流,再交心 4,职场上 先升值,再升职 5,发展上 先站稳,再站高 6,执行上 先完成,再完美 《乌合之众》里有这样一段话: “人一到群体中,智商就严重降低,为了获得认同,个体愿意抛弃是非,用智商去换取那份让人备感安全的归属感。” 性相近,是人性。 习相远,是练习。 离职原因 更规范、系统的流程,金融,平台、发展 金斧子 2017年金融风暴,公司大规模裁员,无法满足自己职业规划的需求,选择了离职,被公司的迅雷出来的高管推荐到迅雷 职业规划 选择的其实是平台,平台能够正常的运营的话,那么我也能够比较好的发挥自己的一个作用 XMind - Trial Version

Interview:公共概念

公共概念 测试过程中有没有遇到什么问题 请求无法路由,因为envoy无法完成服务发现 通信协议 GRPC 原理 Http 2.0 注册机制 如果是普通的测试,直接IP端口访问即可 如果是线上服务,使用zookeeper来进行路由信息的维护,可以提升可靠性和可维护性,所有服务请求只需要通过一个域名就可以完成相关的调用 优缺点 GRPC可以节省带宽、降低TCP链接次数、节省CPU protobuf二进制消息,性能好/效率高 proto文件生成目标代码,简单易用 序列化反序列化直接对应程序中的数据类,不需要解析后在进行映射(XML,JSON都是这种方式) 支持向前兼容(新加字段采用默认值)和向后兼容(忽略新加字段),简化升级 支持多种语言(可以把proto文件看做IDL文件) 缺点: GRPC尚未提供连接池,需要自行实现 尚未提供“服务发现”、“负载均衡”机制 因为基于HTTP2,绝大部多数HTTP Server、Nginx都尚不支持,即Nginx不能将GRPC请求作为HTTP请求来负载均衡,而是作为普通的TCP请求。 Protobuf二进制可读性差 traceID怎么进行透传 HTTP2.0 也包含header TCP/IP TCP/IP四次挥手过程 TCP 三次握手挥手的ack、syn信息 MTP(基于TCP定义) 协议测试怎么测试(首先确保协议解析的正确性,然后确保其触发的业务的正确性) HTTP http&https的区别 http:明文 网景SSL https协议需要到ca申请证书 http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。 HTTP使用TCP三次握手建立连接,客户端和服务器需要交换3个包(具体可查看马海祥博客《HTTP服务的七层架构技术解析及运用》的相关介绍);HTTPS除了TCP的三个包,还要加上ssl握手需要的9个包,所以一共是12个包。 所以使用心跳来保持连接,避免重新建立连接的消耗。 http请求的缓存机制 http session、Cookie区别 cookie存在本地,session存在服务端,token用于验证上下文顺序 长链接、短链接 短连接 握手、数据、挥手、结束 长链接 心跳信息保持链接 http 1.1默认长链接,HTTP首部的 Keep-alive: timeout=20s Connection: Keep-alive 客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭 http GET/POST区别 正向代理,反向代理 正向代理不知道访问者,反向代理不知道处理者 管理经验 怎么对测试组进行管理(制定测试计划,分小组进行管理?),怎么

Interview:其他

其他 测试观 这样的面试你能通过吗 选择工作的考虑角度 行业是否热门 公司发展势头是否强劲,属于岗位领导者地位吗 老板是否愿意分享利益 原因:个人成功会严重依赖平台成功

Interview:编程思想

编程思想 数据结构 平衡二叉树 待补充 排序算法(待补充) 归并排序 冒泡排序 B+树 数据结构 待补充 红黑树 数据结构 待补充 测试设计 传入不同的值会有什么不同的测试效果(数据存储的空间不一样,存在预制的数据) 测试用例设计方法 因果图、等价类、边界值、场景法 测试设计 怎么保证不漏测,版本高质量 从源头出发 播放器测试设计 样式 功能 性能 安全性 可靠性 三角形测试设计 五分钟,简洁,全面用例 确认需求的完备性 测试设计 微信传送功能测试用例设计的思路/测试方案 用例设计:淘宝购买产品页面 首先从功能、展示上面出发,然后延展到性能、安全、易用性、可移植性、可靠性、可复制性上从容考虑 登录界面(含验证码)测试设计 五分钟,简洁,全面用例 确认需求的完备性 登录界面(含验证码)测试设计 含有多少条测试用例(30+) 账户(5条) 字符长度 0 正常 上限 超过上限 sql注入 abc or ‘1’ ='1’; 密码(5条) 同账户 验证码(5条) 同账户 账户、密码、验证码 正误排列组合(8条) 2 x 2 x 2 跳转 跳转拦截 性能 可靠性(服务器性能注入) 内存 CPU 磁盘 弱网 并发场景 语音聊天功能 测试设计 语音聊天功能 取款机取款功能 远程有钱与否 取款机有钱与否 数据传递过程 数据校验 点赞失败会是哪些原因导致的 页面 信息传递 反向代理 路由规则 服务依赖 消息传递 页面展示 脚本编写 脚本过程中有没有遇到什么问题 自动化用例生成脚本细节 自动化用例生成脚本细节 首先抓包,导出为HAR文件,然后对数据进行解析,然后生成对应的数据格式的文件,然后再把这些文件做格式化处理(对异常的参数校验做自动化生成的操作) 分享 最开始怎么测试 后来怎么测试 使用Python自动化框架 RF推动后反馈慢、服务多、任务重、不好管理、难以追溯 测试工具编写 测试用例自动生成 怎么保证覆盖度 怎么度量接口覆盖率 关键字底层封装有哪些注意点 关键字底层封装有哪些注意点(error 统一返回,考虑复用性函数封装) 脚本过程中有没有遇到什么问题 操作JIRA脚本实现机制/定期从JIRA上获取数据,在钉钉群进行通知 提供接口,调用JIRA接口,上传数据 处理多层json信息 处理多层json信息 web开发(对html不是太熟悉,没有做太深的研究?) web开发(对html不是太熟悉,没有做太深的研究?) 测试工具开发细节 测试工具开发细节 埋点服务测试细节 埋点服务测试细节 脚本过程中有没有遇到什么问题 shell脚本遍历文件夹下所有文件 find . -name ‘.java’ function getdir(){ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 for element in `ls $1` do

Interview:项目经验

项目经验 支付相关 支付业务 转账、跳转支付、APP内扫描、wap 给各个业务组开发提供的功能的有效性;测试对外部的第三方接入平台的兼容,比如说支付宝就有扫描支付,跳转APP支付、wap支付、免密包月自动续费 项目架构、逻辑组网 怎么确保计费不出错 对账 操作原子性 质量保证 安全措施 token确定上下文信息 md5加密盐值 支付 跳转支付安全问题 截取报文,然后返回给实际完成支付的人,无法识别是不是存在帮忙代付的情况 https 封装 支付重复订单处理机制 (补充:分布式锁)一个订单表,一个订单成功表,主键唯一 怎么保证支付网关的质量,做了哪些测试保证 自动化、后督系统、对账系统 补充:系统架构的完整性设计、可靠性验证 支付转账测试的注意点,怎么做的 走完整个链路:发起(从第三方银行或数据)、数据传递、接收 支付测试需要做的注意点 测试设计 支付转账100块接口(账户转账/银行卡转账-账户接收/银行卡接收) 支付转账如何测试(镖局) 走完整个链路:发起(从第三方银行或数据)、数据传递、接收 遇到的最多的问题是什么 支付网关/短信网关的golang重构(自动化选型 应用 推广),微服务化,容器化功能测试 短信网关的重构后功能的性能测试 mycat数据库分库基准测试 为什么分库:数据量太大,使用十天分表一次的机制,查询数据等操作必须加上时间戳,相当于指定数据库 dbconsummer架构调整后的性能基准测试 车联网 通信协议 协议报文内容,二进制协议 报文长度 报文头 报文体 摘要体 项目架构、逻辑组网 协议测试? ELB ELB主要测试的是什么内容 ELB 怎么样实现的为什么要使用ELB(nginx开源,四层转发,异步消息队列) 怎么保持长链接 4层传输层的负载均衡 因此它不自主干预HTTP层面的解析和操作,它只是HTTP文本的搬运工,客户端和服务端的请求头和响应头就穿透了。 自动化怎么做的 封装不同的shell脚本,组成一个个用例的场景 自我介绍 英文自我介绍 项目优化 测试内部改进 深入了解业务内部逻辑实现,输出业务总结文档,提升质量 测试流程改进 线上问题反馈跟踪,定位和总结改进 接口线上检测(鹰眼系统) 自动化测试(可维护,有实际效果) 项目流程改进 产品准入标准 关键指标定义 研发准入标准 项目过程数据收集(过程数据定义,反映问题) 测试环境维护管理即版本发布流程优化 项目成本优化(数据收集,针对性优化) 产品质量数据收集 测试左移有哪些手段 在一切开始之前先进行测试,测试对象是需求,越早的发现需求不合理的地方出问

电影列表

BingoHE 电影列表 Want to Watch 阳光普照 (豆瓣) 一秒钟 (豆瓣) 气球 (豆瓣) 半个喜剧 (豆瓣) Spring, Summer, Fall, Winter… and Spring (2003) Watched movie 阿凡达 (豆瓣)

love it | Bingo

   Bingo我是一只潇潇 🐦 1 2 3 4 5 6 7 8 9 10 print([i ** 7 for i in range(1, 9)]) [1, 128, 2187, 16384, 78125, 279936, 823543, 2097152] print([i ** 1 for i in range(1, 9)]) [1, 2, 3, 4, 5, 6, 7, 8] print([i ** 3 for i in range(1, 9)]) [1, 8, 27, 64, 125, 216, 343, 512] print([i ** 5 for i in range(1, 9)]) [1, 32, 243, 1024, 3125, 7776, 16807, 32768] print([i ** 9 for i in range(1, 9)]) [1, 512, 19683, 262144, 1953125, 10077696, 40353607, 134217728]