首页 > 其他分享 >面试准备清单

面试准备清单

时间:2024-09-29 17:23:07浏览次数:4  
标签:处理 准备 建模 面试 开发 使用 清单 软件 数据

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.如何处理冲突

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

标签:处理,准备,建模,面试,开发,使用,清单,软件,数据
From: https://www.cnblogs.com/ahsczj/p/18440455

相关文章

  • 2024-25互联网大厂资深自动化测试&测试开发精选面试题
    自动化测试与测试开发成为了大厂招聘的热门岗位之一。作为测试开发的核心岗位之一,掌握相关技术并通过高难度的面试成为每一个技术人的必经之路。本文探讨如何利用精选的面试题、巧妙的备考策略,成功迈入梦想中的大厂。主要针对了各类常见框架,如TestNG、Python编程、Linux、数据......
  • (三)项目准备工作
    前言:虽然Ignition可以在不做任何配置的情况下直接使用,但为了方便以后的操作,我们先准备好数据库,配置网关1.下载MySQL数据库与jar驱动包 2.安装MySQL数据库 3.配置MySQL数据库配置root密码P@ssw0rd,之后会自动打开MySQLBench选择默认连接,填入刚才设置的密码即可连......
  • 分享C++程序员面试八股文(十三)
    以下是C++常见八股文(十三):一、C++中的命名空间和模块的高级用法(AdvancedUsageofNamespacesandModules)解释命名空间别名和嵌套命名空间的作用及使用场景命名空间别名:作用:命名空间别名可以为一个较长或复杂的命名空间提供一个更简洁的名称,提高代码的可读性和可......
  • 代码随想录算法训练营第四天|24. 两两交换链表中的节点,19.删除链表的倒数第N个节点,面
    24.两两交换链表中的节点文章链接:https://programmercarl.com/0024.两两交换链表中的节点.html#思路视频讲解:https://www.bilibili.com/video/BV1YT411g7br代码链接:https://leetcode.cn/problems/swap-nodes-in-pairs/此题注意点:注意由于交换节点,head已经变换了位置,故最终......
  • 期刊投稿|投稿前做什么准备工作(文件和信息)
    投稿前,事先准备好所有可能需要的投稿信息,确保整个投稿过程的稳妥顺利进行。(以下是一些常见信息)论文源文件*:不仅要PDF文件,还要整个可编辑的项目(.tex/.doc文件,以及所有附带的配置文件.bib/.bbl/.bst/.sty/.cls、图片表格文件)论文信息*:题目、摘要、关键词论文主题:可以参考期刊官......
  • 面试速通宝典——3
    51.野指针和内存泄漏是什么?如何避免?‌‌‌‌内存泄漏:是指程序中以动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。‌‌‌‌避免:使用智能指针管理资源,在释放对象数组时使用delete,尽量避免在堆......
  • 网络安全面试过程中经常被问到的应急响应问题
    《网安面试指南》http://mp.weixin.qq.com/s?__biz=MzkwNjY1Mzc0Nw==&mid=2247484339&idx=1&sn=356300f169de74e7a778b04bfbbbd0ab&chksm=c0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene=21#wechat_redirect《Java代码审计》htt......
  • 【C语言】手把手带你拿捏指针(完)(指针笔试、面试题解析)
    文章目录一、sizeof和strlen的对⽐1.sizeof2.strlen3.sizeof与strlen对比二、数组和指针笔试解析1.一维数组2.字符、字符串数组和字符指针代码1代码2代码3代码4代码5代码63.二维数组4.总结三、指针运算笔试题解析代码1代码2代码3代码4代码5代码6一、sizeof和strl......
  • C++多线程与并发类面试题
    题目来源:https://subingwen.cn/cpp/thread/https://mp.weixin.qq.com/s?__biz=Mzg4NDQ0OTI4Ng==&mid=2247489580&idx=1&sn=b9ac83040601230ff897f3394e956cea&chksm=cfb95145f8ced8536d5dcfa7d3165e3a51f5cb40e52f699745df0d8f71e4f7591674cd5cf156&token=......
  • 面试题 02.07. 链表相交
    明天回家喽,最近在学习的瓶颈期,感觉学的东西好难,有厌学的心理,但是我相信过了这段煎熬的时期,就好了。classSolution{public:ListNode*getIntersectionNode(ListNode*headA,ListNode*headB){intna=0,nb=0;ListNode*tempA=headA;L......