面试准备清单

news/2024/9/29 17:35:08

0.自我介绍

各位面试官,大家好:

  1. 介绍毕业院校专业,大学成绩怎么样
  2. 工作经历
    2.1 金星
    1.试用期学习Qt,并且使用Qt开发一套样品前处理软件,主要就是通过modbus控制下游IO设备按照一定时序控制IO设备开闭,完成样品前处理业务,对上位机开发业务初具分层思想。
    2.主导公司LIBS激光测量产品需求分析、架构设计、软件开发、bug修正、后续优化
    3.提炼出一套通用上位机框架,包括通讯层、设备层、指令层、控制层、控制面板层等各层的接口和相应实现,借鉴依赖注入思想,配置优先原则,不同配置生成不同的业务流,使用工厂模式实现对象的创建、单例模式管理对象、指令模式封装业务、异常抛出实现业务中断。
    4.使用Blazor框架开发出一套的远程数据看板程序
    5.建模算法移植Liunx研究;斜光测距算开发、从matlab移植到C++

2.2.谱育科技工作经历:
(1)近红外光谱建模平台开发:
背景:已有大量化学法分析的样本数据,公司仪器需要快速,定性地判断某些水质/土壤污染物的浓度,建模业务复杂且专业性强
方案设计:
1.平台.NetCore3.1,ui界面选择winfrom(wpf触摸屏有问题),数据管理使用json序列化工具
2.建模业务可分为数据前处理和建模
3.前处理功能分为异常样本剔除、谱图前处理(去噪,求导,浊度扣除)、波段选择,前处理抽象为数据处理管道,将一批样本数据传入后,依序流进不同数据处理模块,返回最终前处理结果,使用scootplot控件呈现每一步处理后的数据变化,向导式建模,用户只需要选择相应参数后点击下一步即可。
4.建模分为pls和神经网络,输入预处理后的数据到相应的建模算法,返回模型精度参数。比较不同的建模参数建立的模型精度,选择最优模型保存
5.使用rpc提供预测服务,快速拓展现有数采仪

难点:
1.数据管理,数据库太复杂,前期迭代较快,数据格式经常修改,使用json反序列化为内存对象,易于修改,相当于轻量化数据存储,提高灵活性
2.样本数据需要编辑修改,使用csv格式直接在excel中操作,减少开发量
3.数据处理过程中如何保证算法的准确性,测试驱动开发,创建大量测试用例和测试数据,保证每一步算法的准确性,同时重构起来更流畅。
4.谱图前处理(平滑,求导,浊度去除)需要选择不同的算法组合探索出合适的前处理组合,前处理管道如何重建?建立统一数据处理接口,使用JObject存储相应键值数据,保存对应算法名称和参数,后续通过反射获取所有前处理算法,在预测时读取Json数据进行前处理管道重建,完成预测功能

(2)水质总磷总氮/氨氮检测仪上位机
负责两款软件软件需求分析,代码开发,功能迭代
总磷总氮毕业第一个项目,项目正在开发前期,在导师的指导下进行项目开发,主要就是在主界面编辑、下发样品数据、下位机启动测量流程、化学反应结束后读取光谱仪数据、测量结束通知下一个工位进行相应处理。
氨氮和总磷总氮类似
难点:
1.原有代码主界面代码过多,功能模块不清晰(数据保存、光谱仪读数、数据采集分析、报警码处理)耦合在一起,通过提炼函数,独立模块等方法将原有近3000行主流程代码精简至1000行左右。分离出数据采集、数据分析、报警码处理等多个模块,利用反射+特性缩减了大量的if/else语句,添加新成员时也减少了改动。
2.在添加站点检测控制模块时,使用观察者模式分离与主模块的逻辑,降低耦合
3.功能迭代时软件的错误难以快速排查,抽象下位机设备接口,实现该接口,实现模拟数据调试,快速发现修改缺陷
4.多线程与主界面UI使用Invork复杂,且容易出现bug,升级到Net4.6使用async/asait简化多线程交互
5.展示给用户的数据列表需要经常修改,利用反射+特性+xml文件编写了DGV表头绑定、自由配置表头的工具

(3)巨一自动化
新能源电芯电压采集、装配过程数据收集、保存、上传软件,使用opc完成和plc通讯,使用scip控制安捷伦电压采集仪器
环状分布字符检测项目

定位字符、寻找展开特征、特征增强、展开图像、获取单个字符、算法检测

1.遇到过的挑战

  • 在一个月内使用不熟悉的开发语言(Qt)开发出一套适用新的应用场景产品软件,并且调试成功上线运行。通过将原有业务分解为样品前处理和检测业务,二者独立运行,通过modbus交互,检测部分使用现有软件,前处理部分新开发一套软件。在新软件中使用通讯层、设备层、业务层分离原则,通过QDebug()日志输出调试软件,最终项目成功交付。
  • 如何开发出一款兼容多种型号的设备,通过封层思想,抽象出通用的modbus、发布/订阅、请求/应答等接口,并对对应的物理实现按业务需求实现,将业务中所用到通讯都以接口调用;抽象出出设备层,对激光器、光谱仪、电机导轨等核心设备等提炼抽象基类,对不同品牌的设备进行具体实现,上层调用基类;抽象出指令层,对测量业务分别封装进单个指令中,激光器开关、光谱仪采谱、电机转动等封装进指令,通过配置文件读取生成指令流,每个指令流则是一个完整的测量流程。
  • 一个人负责公司现有LIBS产品软件的重构(重写?)项目,使用同一份软件兼容多系列设备,在需求分析、架构确立、后期测试部分、都遇到了支持不足的问题。于是就自己调试、使用老软件、组织现场使用人员开会收集需求,自己在设备上进行功能测试、稳定性测试。其中几个印象深刻的问题,内存泄漏、软件莫名闪退问题、Qt反射和工厂模式。
  • 一个半月开发出一套视觉字符识别系统、在调研了paddle ocr、tesseract等视觉识别框架后,发现要想到达客户要求的识别精度,必须要建立齐一套深度学习识别流程,学习特定的训练集才行,觉得自己在这方面没有丰富的经验,就让项目外包了。

2.最享受什么

  • 写出的软件有人用,另外还会和你一起讨论,提出优化意见
  • 发现并且解决前人的bug
  • 学习使用新的技术来完成当前任务时
  • 对当前业务想到了一个更好的解决方案时,最好还有人和你一起分享这份喜悦

3.如何处理冲突

  • 尝试沟通,听取别人的意见并且说出自己的想法
  • 理清任务的重要程度,最紧急的任务先做
  • 只要是站在平等、互相尊重的基础上沟通,出现冲突都是很好解决的

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

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

相关文章

从Anaconda到PyTorch到训练Yolo——Windows系统

1、Anaconda conda能管理不同的开发编译环境,互补干涉影响。 Anaconda和Miniconda是conda的工具,前者带界面(大而全),后者只有命令行窗口(小而精)。作为初学,建议安装Anaconda 1.1 安装Anaconda 下载 Download Anaconda Distribution | Anaconda ,安装到D盘,其他默认…

9月28日,工信部人才交流中心CUUG-PGCA/PGCP/PGCM认证考试完成!

2024年9月28日,由工业和信息化部人才交流中心主办,北京神脑资讯技术有限公司承办的PostgreSQL管理员岗位能力认证考试(PGCP中级/PGCM高级)顺利完成。 中级PG认证专家:PGCP(PostgreSQL Certified Professional),是对PostgreSQL数据库技术能力的一种认可,达到了专家级别…

设置GRUB密码

通过在GRUB配置中设置密码,系统在启动时会在显示GRUB菜单之前提示用户输入密码,只有输入正确的密码后,用户才能看到并修改启动选项。 1、以 root 用户身份执行 grub2-setpassword 命令。2、检查 /boot/grub2/user.cfg 文件,其包含哈希格式的密码。3、配置GRUB菜单作者:杨灏…

模糊查询用逗号分隔开的字段

业务:一个sys_dept部门表中,有一个字段ancestors是用逗号分隔开的id。 想模糊查询这个字段。 如果用普通的like的话。 select * from sys_dept where ancestors like %1%实现不了我们想要的效果。 mysql 可以用FIND_IN_SET()这个函数来协助。 列:SELECT * FROM sys_dept …

Prism IOC的依赖注入

IOC的依赖注入一、构造函数方式的依赖注入默认情况下Prism框架的项目,在打开窗口时会自动匹配主窗口的视图模型类(PrismApplication启动),这里是MainWindowViewModel,匹配到之后Container自动创建MainWindowViewModel的实例,创建时会先检查MainWindowViewModel有没有无参…

活体标签的内部主芯片-SI24R2F+

Si24R2F+ 是一颗工作在2.4GHz ISM 频段,专为低功耗无线场合设计,集成嵌入式发射基带的无线发射芯片。工作频率范围为 2400MHz-2525MHz,共有126个1MHz带宽的信道。Si24R2F+ 采用GFSK/FSK 数字调制与解调技术。数据传输速率与 PA 输出功率都可以调节,支持 2Mbps,1Mbps,250Kbp…

20242822《Linux内核原理与分析》第二周作业

实验楼上配套实验一 1.创建main.c文件 touch main.c vim main.c2.将main.c文件编译成汇编代码 gcc –S –o main.s main.c -m32 这条命令的含义是:gcc: 调用 GCC 编译器。 -S: 只生成汇编代码,不生成可执行文件。 -o main.s: 指定输出文件名为 main.s。 main.c: 输入的 C 源文…

从0到1搭建权限管理系统系列四 .net8 中Autofac的使用(附源码)

说明该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发)。该系统文章,我会尽量说的非常详细,做到不管新手、老手都能看懂。说明:OverallAuth2.0 是一个简单、易懂、功能强大的权限+可视化流程管理系统。 友情提醒:本篇文章是属于系列文章,…