个人介绍
我是EZ4BK,一名软件工程师;
毕业于美国罗格斯大学计算机本科,担任过锐捷网络的实习测试工程师;
负责过FamiOwl、Student Roaster、Pizza Order Manager等项目;
熟练使用PyQt、Git、JavaFX、Docker、pytest等技术栈;
初生牛犊不怕虎,最强的能力就是学习,最大的优势就是要钱少,欢迎各位老板和同行的合作。
工作经历
2022-05-23 -2022-08-15锐捷网络实习测试工程师
在国产UOS和KOS系统上利用服务器虚拟化实现运行x86架构应用的云桌面、云应用、云坞解决方案。 主要负责软件手工测试、自动化测试,以及自动化脚本的开发、编写等工作。 封装了HTTP 和WebSocket的基本 API 和业务级接口,并进行了更改WS API循环中的“中断”条件,以此改善了运行时间,为后续的开发奠定了基础。 自学PyQt优化了一个内部工具以获得更好的用户体验,重新组织项目结构,使其具备良好的设计模式,并更改了原始变量命名模式以增强代码可读性,改善后期维护。 在上述工具中引入了多线程,将原本线性上传过程的时间节省了大约一半。 熟悉了与其他同事同步代码和进度的Git 命令,学习了一些Linux高级命令来更好地搭建测试环境。
教育经历
2019-09-01 - 2023-01-16Rutgers UniversityCS本科
罗格斯大学本科,计算机专业, GPA 3.55,专业学科成绩优良,课程内容包含OOP, Design Pattern, Unit Testing, VCS, MVC, Abstract Data Type, SQL, Internet, SWE等等
技能
https://github.com/ez4bk/StudentRoster_GUI 1. 一个简单的 GUI 软件,用于维护学费程序的学生花名册。系统使用一个数组来执行花名册。Student是一个抽象类,由Student扩展包括Resident、NonResident、TriState、International等不同身份的学生。该软件使用单个 GUI 来执行所有任务。 GUI 包含 4 个顶部选项卡,即学生资料、付款/经济援助、打印花名册和关于。 2. 我负责全栈开发以及测试工作。使用到JavaFX、SceneBuilder、JUnit、OOP等技术栈。 3. 通过执行代码规范制度解决了部分代码冗余、易读性差的问题,学会了Javadoc的生产与格式规范,为将来代码规范打好了基础。
https://github.com/ez4bk/PizzaOrderManager https://github.com/ez4bk/PizzaOrderAndroid 1. 用于比萨店管理订单的全栈软件。 使用 JavaFX 开发用于下管理订单、记录订单的GUI软件。该软件有 4 个 GUI 视图及其相应的控制器,Main、Pizza、Current Order 和 Store Order。Pizza是一个抽象类,3种口味的pizza是Pizza扩展出来的子类。目前,比萨店提供 Deluxe、Hawaiian 和 Pepperoni 3 种口味的比萨,并配有店内定制的配料。比萨店也允许顾客定制配料。 店员将是使用该软件接受顾客订单的人。每个订单都由客户的 10 位**唯一标识。为简单起见,系统不会跟踪订单的日期。 2. 负责整个全栈项目,从前端到后端到测试。使用JavaFX、Scenebuilder、Android Studio、OOP等技术栈。 3. 使用OOD和继承来实现不同类型的披萨对象。使用抽象数据类型和枚举实现浇头。使用 MVC 作为项目结构。
https://github.com/ez4bk/S-Team-Project 1. 软件分UI、前端以及数据库部分。UI的设计根据网上开源资源修改而来,具有扁平化外观;前端负责与数据库的连接以及用户数据的可视化;后端负责用户数据和游戏数据的存储和管理。 2. 本人负责UI的修改以及前端与后端之间连接的实现。使用PyQt设计UI,用通过SSH Tunnel的SQL Alchemy连接数据库并保证连接的安全性,用SFTP协议实现文件的传输。数据库使用MarialDB的SQL数据库,数据库运行在Linux系统中,并且文件也在Linux虚拟环境中存储。使用Django实现网页端功能。 3. 第一个难题是游戏在本地的存在形式,是以字符串列表形式存储还是以字典等其他简单数据类型,最终决定将每一个游戏对象化,用OOP存放游戏信息,实现游戏下载、收藏、运行等功能。第二个难题是客户端UI界面在后台任务运行,或与数据库连接的过程中会假死机的问题,通过Qt自带的线程池解决。第三个难题是客户端频繁从数据库读写数据会降低使用效率,影响使用流畅度,通过一次性获取所有信息并在本地实体化、对象化解决,再在关闭程序时上传数据以同步数据库。