我带过的一名C++实习生——Z同学

news2025/1/14 18:39:35

   

    刚开始带Z同学,吃饭聊天时,我顺便了解了下他的擅长:linux平台下C、C++网络编程。

    接下来的实习,主要分为两个阶段:小组公共培训和项目实训。

    小组公共培训为期2周,主要学习和了解公司文化制度,讲师和导师相结合的方式,对学生的基础知识进行培训和引导。

    公共培训期间,Z同学主要学习和巩固面向对象、数据结构与算法、进程线程与内存、计算机网络、数据库设计等基础知识。独立完成了日志库、桌面计算器,超市管理系统等作业;并与其他学生合作,完成了聊天和文件传输程序的设计、编码和测试。

    我的职责是负责Z同学作业完成情况的跟进与疑难解决。比如日志库作业,先让他按照自己的思路去实现日志库初版,之后我来review,接着面对面提出一些建议和优化措施:编码规范和风格;结合设计模式(单例,工厂方法),对代码结构进行优化;日志库支持多线程等。第二天,他给出了改进后的版本,并在代码中以注释的方式,提出了一些自己的思考:“这里后台线程用死循环,会导致该线程抢占CPU 执行无用的操作( 如果缓冲区为空的话,仅仅执行开关锁操作,浪费CPU), 能改进吧?”看到问题后,我给他讲解了解决思路,他查找资料后,自己解决了这个问题。

    公共培训结束后,开始项目实训。Z同学要做毕业设计,经公司同意之后,他的实训题目是《简单多媒体播放软件》。

    实训项目伊始,软件小组组织了实训计划动员会,各位导师和所带学生,探讨了各自的培训计划。我和Z同学探讨后的计划是:按照软件开发的基本流程:需求分析-->技术调研,选型-->设计-->搭建框架-->编码-->测试,来完成播放软件的开发。与公共培训期间的职责一样:我负责跟进与疑难解答。需求分析时,把大任务分解成一个个子任务,迭代开发:分三个阶段,初版基本功能,比如界面,播放、停止、加速、缓速等基本播放需求;二版高级功能,比如一些特效的实现和处理;三版支持播放方案管理。有了大目标和小目标后,会帮他厘清工作头绪,并逐步建立信心。

    接下来就是按照计划,一步一个脚印来执行了。但是这个过程中,对时间节点的把控,是个难点。设计编码过程中,不可避免的会出现一些未知因素,而导致计划延时。比如在使用OpenCV来实现特效——腐蚀时,水平方向的腐蚀正常,而垂直方向的腐蚀却出现了重影问题。Z同学在网上查找资料,没有合理的解释;咨询周边的人,几乎没人接触过。问题卡主了。。。我想起了之前杭州的一位同事,专门做播放器视频编解码的,向那位同事请教之后,同事说调用OpenCV接口代码的参数,可能出错了。顺着这个思路,Z同学通过自己不断摸索和尝试,终于找到了问题根源:1,调用接口函数时,将宽高参数传反了;2,视频帧是YUV格式的,需要转换成RGB格式的。

    经过自己的努力,Z同学基本完成了播放器软件的功能开发,及文档编写(毕业设计文档)。因时间有限,5月18日,他要返校进行答辩,播放器软件只支持Windows平台,暂时不支持Linux平台。不过这对他来说,已经很出色了,毕竟在有限的一个半月时间里,已经完成了基本功能开发及自测。

    通过2个月的接触,我对Z同学的评价:软件基础知识扎实,学习和动手能力强,善于思考和提问,具有很好的可塑性。

后记:以上文字写于2018年5月,前几天无意中翻了出来。

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

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

相关文章

【项目设计】高并发内存池(三)[CentralCache的实现]

🎇C学习历程:入门 博客主页:一起去看日落吗持续分享博主的C学习历程博主的能力有限,出现错误希望大家不吝赐教分享给大家一句我很喜欢的话: 也许你现在做的事情,暂时看不到成果,但不要忘记&…

脏牛复现(CVE2016-5195)

nmap扫描全网段,发现存货主机,ip为192.168.85.141nmap 192.168.85.0/24nmap 扫描端口,发现80端口,访问该网站nmap -p1-65535 192.168.85.141扫描该网站目录,什么也没扫出来 ,dirb扫描目录的字典在usr/share…

Android TV UI开发常用知识

导入依赖 Google官方为Android TV的UI开发提供了一系列的规范组件,在leanback的依赖库中,这里介绍一些常用的组件,使用前需要导入leanback库。 implementation androidx.leanback:leanback:$version常用的页面 这些Fragment有设计好的样式&…

RocketMQ的一些使用理解

1.RocketMQ的生产者生产负载策略(3种) (1)SelectMessageQueueByHash (一致性hash) (2)SelectMessageQueueByMachineRoom (机器随机) (3)SelectMessageQueueByRandom (随机) 第1种一…

字符流定义及如何深入理解字符流的编码

IputSrem类和OupuSrem类在读写文件时操作的都是字节,如果希望在程序中操作字符,使用这两个类就不太方便,为此JDK提供了字符流。同字节流样,字符流也有两个抽象的顶级父类,分别是Reader和Writer其中,Reader是…

Nvidia jetson nano硬件架构

资料来源 官方文档中心 https://developer.nvidia.com/embedded/downloads -> 选jetson -> Jetson Nano Product Design Guide //产品设计指导(入口) //-> 1.1 References 列出了相关的文档 -> Jetson Nano Developer Kit Carrier Board Specification //板子标注…

MySQL实战之深入浅出索引(下)

1.前言 在上一篇文章中,我们介绍了InnoDB索引的数据结构模型,今天我们再继续聊一下跟MySQL索引有关的概念。 在介绍之前,我们先看一个问题: 表初始化语句 mysql> create table T ( ID int primary key, k int NOT NULL DEFA…

LeetCode 1237. Find Positive Integer Solution for a Given Equation【双指针,二分,交互】

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

Linux学习--重定向

重定向的意思是&#xff0c;将数据传到其他地方。 符号解释>输出覆盖重定向>>输出追加重定向<或<<标准输入重定向 1、读取文件内容且写入到另一个文件中&#xff0c;覆盖写入文件内容 cat haha.txt > xixi.txt2、追加写入文件内容 cat haha.txt >&g…

2023,年轻人不想买钻石了?

【潮汐商业评论/ 原创】“钻石恒久远&#xff0c;一颗永流传。”很明显&#xff0c;Lily就是这句话的“受害者”。临近婚期的她&#xff0c;在婚戒的选择上犯起了愁&#xff0c;“我现在想到买钻戒&#xff0c;我就头大。买小的凑合一下&#xff0c;耳边传来的都是‘别买一克拉…

Linux命令篇 linux命令大全简洁明了 linux学习笔记

Linux命令篇 linux命令大全简洁明了 linux学习笔记 Linux 命令大全 文章目录Linux 命令大全一、 常用的基础命令查看目录&#xff1a;切换目录&#xff1a;创建和删除&#xff1a;拷贝和移动文件&#xff1a;查看文件内容&#xff1a;其他&#xff1a;小技巧终端命令格式1.1 ls…

如何用3个月零基础入门网络安全?

背景 写这篇教程的初衷是很多朋友都想了解如何入门/转行网络安全&#xff0c;实现自己的“黑客梦”。文章的宗旨是&#xff1a;1.指出一些自学的误区 2.提供客观可行的学习表 3.推荐我认为适合小白学习的资源.大佬绕道哈&#xff01; 一、自学网络安全学习的误区和陷阱 1.不…

基于Conda完成创建多版本python环境

文章目录基于Conda完成创建多版本python环境基于Conda完成创建多版本python环境 通过cmd打开conda环境 d:\ProgramData\Anaconda3\Scripts\activate创建python3.7的环境 conda create -n py3.7 python3.7产生错误 Collecting package metadata (repodata.json): failed Unav…

IEEE14节点系统在如短路分析,潮流研究,互连电网中的研究(Simulink)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

MIMO信道的稀疏性

一. 介绍 本文章将从“信道冲激响应”的角度解释为什么MIMO信道具有稀疏性&#xff0c;公式较多&#xff0c;需要了解以下先验知识&#xff1a; 信道相干带宽与传输信号带宽 带宽与宽带 平坦衰落与频率选择性衰落 信道冲击响应 基带与射频 多径传输与最大传播时延 基带带宽是信…

6个必知的Mysql索引失效场景,别再踩坑了!

今天我来聊聊索引的相关问题&#xff0c;因为索引是大家都比较关心的公共话题&#xff0c;确实有很多坑。不知道你在实际工作中&#xff0c;有没有遇到过下面的这两种情况&#xff1a;明明在某个字段上加了索引&#xff0c;但实际上并没有生效。索引有时候生效了&#xff0c;有…

Linux字符设备驱动模型之设备号

从上文中可知&#xff0c;在Linux用户空间中&#xff0c;如若需要操作硬件设备&#xff0c;均通过/dev目录下的设备文件节点进行操作&#xff0c;基本上每一种设备都会存在一个或者多个的设备节点。 并且在Linux内核中&#xff0c;其表示字符设备的结构成员也提供了相应的设备号…

论文投稿指南——中文核心期刊推荐(外国语言)

【前言】 &#x1f680; 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊 &#x1f384; 在期刊论文的分布中&#xff0c;存在一种普遍现象&#xff1a;即对于某一特定的学科或专业来说&#xff0c;少数期刊所含…

【学习】笔记本电脑重新安装系统win10

安装系统有很多方法: 软件安装制作启动u盘本文使用的方法就是启动盘安装: 1.首先下载iso镜像文件: msdn我告诉你:MSDN, 我告诉你 - 做一个安静的工具站 (itellyou.cn) 2.下载启动盘制作工具: 制作启动盘rufus:Rufus - 轻松创建 USB 启动盘 3.官网下载: https://do…

【设计模式】18.观察者模式

概述 定义&#xff1a; 又被称为发布-订阅&#xff08;Publish/Subscribe&#xff09;模式&#xff0c;它定义了一种一对多的依赖关系&#xff0c;让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时&#xff0c;会通知所有的观察者对象&#xff0c;使他们能…