半年不在csdn写博客,总结一下这半年的学习经历,coderfun的一些碎碎念.

前言

自从自己建站一来,就不在csdn写博客了,但是后来自己的网站因为资金问题不能继续维护下去,所以便放弃了自建博客网站来写博客,等到以后找到稳定,打算满意的工作再来做自己的博客网站。此篇博客用来记录自己在csdn消失的这几个月到底做了什么

正文

这一篇记录了博主从一个浅浅会crud的boy变成了一个算法菜鸟,八股文吟唱菜鸟,业务理解菜鸟,也算是刚刚入门开发这个职位了.

2023-11

在这里插入图片描述

在这个月我经历了很多,大多数时间是繁忙的几乎抽不出任何时间,在这一段时间我参加了七牛云1024创作者大赛,但是最后呢,效果不是很理想,我使用Hertz+Kitex开发后端,奈何前端队友不是很熟练,进度安排也不是很合理最终导致没有成功参赛,失去了这次机会;
在这里插入图片描述

后来呢,我偶然认识了一位其他学院比较厉害的教授想做一款医疗的小程序来参加创业大赛,我们一拍既合,做起来了医疗的小程序,这一次我总结了参赛七牛云失败的经历,安排好了进度的一些东西分配好了职责,但是到了最后,我们一个有成品有公司资助有生物科研产出的产品,尽然连校赛都没有通过, 比赛是经管法学院举报的,通过校赛的他们学院的作品占大成;这两次比赛的失利耗费了我很多心血,至此我顿悟了,好像大学期间的比赛很多都是水赛凭关系,包装,甚至金钱就可以拿到不错的名次,从此我便跨上了找实习之路;

2023-12

这个月,我背了很多八股文同时开始系统的刷算法,参加了蓝桥杯的学院预选赛,成绩真的很差,曾经自以为的能力在现实面前变的不堪一击;在这里插入图片描述
同时面试的八股文,自己也是非常的菜,甚至连Java的基础数据类型都不知道,所以我决定寒假好好沉淀一番;

2024-1

这个月回到家之后,姐姐结婚了,家里好多事情,加上自己的不自律以及家里的一些事让我学习很难进行,八股没有背多少,算法到是每天都在刷,可以仿佛都是为了完成任务式的工作,没有一点实际意义;但是家乡下了几年以来最大的雪,整个大年我都玩的很开心,附上我堆的小雪人:
在这里插入图片描述

2024-2

在这里插入图片描述

因为自己在家的状态实在很差,我早早的回了学校学习,回到学校也下了很大的雪,是这里几十年都不遇见的大雪
在这里插入图片描述
期间还在阿里云混了一个小证书
在这里插入图片描述

2024-3

这个日子,我正式开启了我第一段找实习之路,投递了将近100家公司,面试的概率不到十分之一,下面列举一下我投递的部分公司:

  • 美团-后端开发-简历挂
  • 美团-测试开发-一面挂(太紧张了,没有好好抓住这一次的机会)
  • 快手-测试开发-一面挂(岗位不匹配,面试官提到了我是一份后端开发的简历)
  • 腾讯云智-后端开发-笔试完无后续
  • 腾讯云智-测试开发-简历挂
  • 快手其余岗位-简历挂了快10次
  • 百度-开发,测试开发岗位-简历挂了7次
  • 其他的公司基本都是简历挂,或者做了笔试没有后续
    在这里插入图片描述
    PS:又混了一手小奖
    在这里插入图片描述

2024-4

大厂拿不下,还搞不定小厂嘛?整个四月我都在面试和笔试还有背八股的路上,途中参与了一次蓝桥杯的Java比赛,基本都会写难度不大;四月份拿下了杭州,成都,西安的oc,最后选择了西安薪资不错,伙食也很不错,但是要加班到比较晚,基本早晨我是6.50出门,晚上9.40到出租屋,打工人真的很不容易!!!
PS:公司的晚饭
在这里插入图片描述
PS;下班后等公交
在这里插入图片描述

2024-5

一直在这家公司实习,做了很多有意思的事情,最近项目也是很紧,每天都在加班,累并快乐着;
附上一张公司大门:
在这里插入图片描述

学习了很多关于反射在业务场景中的使用,包括自己实习期间也有很多产出,被leader夸过几次还挺开心的,有一个根据动态表格以及用户自定义规则实现的动态计算,以及实习生可以在Linux中应用的场景我也有总结我觉得还挺有意思的,给大家看一下我的代码:

    public static boolean isNumeric(Object obj) {
        if (obj == null) {
            return false;
        }
        try {
            Double.parseDouble(obj.toString());
            return true;
        } catch (NumberFormatException e) {
            return false;
        }
    }

    /**
     * 查询搬迁安置人口列表
     *
     * @param list 需要的集合集合
     * @return 搬迁安置人口
     * @desc:反射获取字段名,如果字段名在里面就把字段值拿到然后放在map中累加
     *     拿到对象的字段判断是否可以计算
     */
    public static <T> T findNumericFields(List<T> list, Class<?> clazz) {
        if (list.size() == 0) return null;
        Map<String, Number> map = new HashMap<>();
        // 遍历字段,判断是否是数值类型,如果是则放入hashmap中初始为0
        Field[] declaredFields = clazz.getDeclaredFields();
        for (Field field : declaredFields) {
            if (!field.getName().contains("column")) {
                continue;
            }
            field.setAccessible(true);
            try {
                if (isNumeric(field.get(list.get(0)))) {
                    map.put(field.getName(), 0);
                }
            } catch (IllegalAccessException e) {
                throw new RuntimeException(e);
            }
        }
        // 遍历List,对每个item进行反射,如果字段名在hashmap的key中能找到,就将字段值加入到hashmap的val中
        list.forEach(item -> {
            for (Field field : item.getClass().getDeclaredFields()) {
                field.setAccessible(true);
                try {
                    Object value = field.get(item);
                    String name = field.getName();
                    if (!name.contains("column")) {
                        continue;
                    }
                    if (isNumeric(value) && map.containsKey(name)) {
                        Number v;
                        if (value.toString().contains(".")) {
                            // 说明转换为小数
                            v = Double.parseDouble(value.toString());
                        } else {
                            v = Long.parseLong(value.toString());
                        }
                        Number numberValue = v;
                        map.put(field.getName(), map.get(field.getName()).doubleValue() + numberValue.doubleValue());
                    }
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                }
            }
        });
        T res = null;
        try {
            res = (T) clazz.newInstance();
        } catch (InstantiationException | IllegalAccessException e) {
            e.printStackTrace();
        }
        Field[] fields = clazz.getDeclaredFields();
        for (Field field : fields) {
            field.setAccessible(true);
            String name = field.getName();
            if (map.containsKey(name)) {
                try {
                    field.set(res, String.valueOf(map.get(name)));
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                }
            }
        }
        return res;
    }

哈哈,是不是还挺抽象的,如果大家想看反射在业务中的场景,或者实习生怎么使用Linux,可以看我下一篇博客哦;
蓝桥杯成绩也出来了,很意外的拿了省一,我的题几乎都是暴力出来的,只有两道编程题没有暴力,剩下都暴力了就剩一了,真的很意外在这里插入图片描述
下个月的一号就要去西科大国赛了,但是我已经好久没有写算法了,这周还要python考试,真的有点慌,期间我的电脑还因为开不了机重置了一次,很多东西都重装了,哎心累;

总结

接下来,我的预期的计划如下:

  • 端午节后离职回学校准备考试
  • 新做一个项目,学习在场景中使用MQ,延伸自己的思想
  • 每天准备背各种八股文
  • 每隔两三天就进行一次模拟面试
  • 寻找暑假的实习机会
  • 每天刷算法,Python或者Java都可以

加油吧骚年,未来是你的!!!

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

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

相关文章

初学Echart

创建一个html文件 1.引入 点击链接----快速上手网址&#xff1a;快速上手 - 使用手册 - Apache ECharts 复制这一串【这个是引入echart路径】 引入到这里 2.使用 我们在上一步---点击返回--往下翻---找到完整代码--复制黏贴 复制粘贴后--总体长这样 <!DOCTYPE html> &…

vulnhub靶场之FunBox-8

一.环境搭建 1.靶场描述 Its a box for beginners and can be pwned in the lunch break. This works better with VirtualBox rather than VMware 2.靶场下载 Funbox: Lunchbreaker ~ VulnHub 3.靶场启动 二.信息收集 1.寻找靶场真实IP地址 nmap -sP 192.168.2.0/24 arp-…

驱动开发之字符设备开发

1.概念 字符设备是 Linux 驱动中最基本的一类设备驱动&#xff0c;字符设备就是一个一个字节&#xff0c;按照字节 流进行读写操作的设备&#xff0c;读写数据是分先后顺序的。比如我们最常见的点灯、按键、IIC、SPI&#xff0c; LCD 等等都是字符设备&#xff0c;这些设备的驱…

算法在计算中的作用

前言 算法在基因工程&#xff0c;互联网&#xff0c;电子商务和制造业中都有广泛的应用。最近的智能驾驶和人工智能也处处有着算法的影子。 数据结构 数据结构是数据元素存在的一种形式&#xff0c;有线性和非线性的区别。常见的线性的有链表&#xff0c;数组&#xff0c;栈和…

Modal.method() 不显示头部的问题

ant-design中的Modal组件有两种用法&#xff1a; 第一种是用标签&#xff1a;<a-modal></a-modal> 第二种是用Api&#xff1a;Modal.info、Modal.warning、Modal.confirm...... 一开始项目中这两种用法是混用的&#xff0c;后面UI改造&#xff0c;需要统一样式&…

C++第十七弹---string使用(下)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】 目录 1、标准库中的string类 1.1、string类的常用接口说明 1.1.1、string类对象的修改操作 1.1.2、string类对象非成员函数重载 总结 1、标准库中的…

修改元组元素

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 场景模拟&#xff1a;伊米咖啡馆&#xff0c;由于麝香猫咖啡需求量较大&#xff0c;库存不足&#xff0c;店长想把它换成拿铁咖啡。 实例08 将麝香猫…

[笔试训练](三十三)097:跳台台阶扩展问题098:包含不超过两种字符的最长子串099:字符串的排列

目录 097:跳台台阶扩展问题 098:包含不超过两种字符的最长子串 099:字符串的排列 097:跳台台阶扩展问题 题目链接:跳台阶扩展问题_牛客题霸_牛客网 (nowcoder.com) 题目&#xff1a; 题解&#xff1a; 规律题: 1.跳上n级台阶的跳法等于前面1~(n-1)级台阶跳法的总和1。 2.跳…

WWW 2024最佳论文|大型语言模型的机制设计

【摘要】我们研究拍卖机制以支持人工智能生成内容的新兴格式。我们特别研究如何以激励兼容的方式聚合多个法学硕士。在这个问题中&#xff0c;每个代理对随机生成的内容的偏好被描述/编码为 LLM。一个关键动机是为人工智能生成的广告创意设计一种拍卖格式&#xff0c;以结合不同…

GEC210编译环境搭建

一、下载编译工具链 下载&#xff1a;点击跳转 二、解压到 /usr/local/arm 目录 sudo mv gec210.zip /usr/local/arm cd /usr/local/arm sudo unzip gec210.zip 三、添加到环境变量 PATH/usr/local/arm/arm-cortex_a8-linux-gnueabi-4.7.3/bin:$PATH 四、测试验证 在终端…

网络原理-以太网协议和DNS协议

一、以太网协议 以太网协议会涉及到数据链路层和物理层。 如图&#xff1a; 这里面的目的地址和源地址指的并不是IP地址,而是MAC地址(物理地址)。长度为6个字节。即最多能表示2^48 个地址,也是非常大的,足够给全球每个设备都分配一个地址,因此在网卡出厂的时候都会带有一个唯…

Mysql之主从同步

1.BinLog同步机制 Mysql要去保证高可用&#xff0c;或者去分担请求压力&#xff0c;一般会去主从部署&#xff0c;读写分离。写库只负责写&#xff0c;而读库更多的去承担读的请求&#xff0c;从库不写数据&#xff0c;数据从主库同步&#xff0c;那么到底是怎么同步的呢&…

ant design pro 6.0列表渲实践demo

ant design pro 用户列表渲实践 用户页面&#xff1a; src\pages\Admin\User\index.tsx import { PlusOutlined } from ant-design/icons; import type { ActionType, ProColumns, ProDescriptionsItemProps } from ant-design/pro-components; import {PageContainer,ProDe…

Pycharm2024搭建QT6开发环境

创建pyqt6虚拟环境 首先&#xff0c;创建一个qt6的虚拟环境&#xff1a; conda create --name pyqt6 python3.11.7激活环境&#xff1a; conda activate pyqt6安装pyqt6 安装pyqt6&#xff1a; pip install pyqt6创建代码目录 创建目录&#xff1a; 使用pycharm打开这个…

springboot + Vue前后端项目(第十一记)

项目实战第十一记 1.写在前面2. 文件上传和下载后端2.1 数据库编写2.2 工具类CodeGenerator生成代码2.2.1 FileController2.2.2 application.yml2.2.3 拦截器InterceptorConfig 放行 3 文件上传和下载前端3.1 File.vue页面编写3.2 路由配置3.3 Aside.vue 最终效果图总结写在最后…

分享活动规划

前两天去参加菁英学院的一些辅导&#xff0c;是关于苏州久富农业机械的发展&#xff0c;看了他们企业的故事&#xff0c;我觉得我们农机很有前景和发展空间&#xff0c;我希望重新经过一次分享活动来分享我的感触&#xff0c;希望能够再次把我学到的内容传输到其他班的同学们 请…

主干网络篇 | YOLOv8更换主干网络之MobileNeXt | 新一代移动端模型MobileNeXt来了!

前言:Hello大家好,我是小哥谈。MobileNeXt是由微软研究院提出的一种高效的卷积神经网络结构,它在保持模型轻量级的同时,能够获得较高的性能。MobileNeXt采用了一种称为Inverted Residuals with Linear Bottlenecks(IRL)的结构,通过深度可分离卷积和快捷连接来减少模型的…

洗地机十大品牌排名:2024十大值得入手的洗地机盘点

随着生活水平的提高&#xff0c;智能清洁家电已经成为日常生活中的必需品。洗地机之所以在家庭清洁中大受欢迎&#xff0c;主要是因为它的多功能特性。传统的清洁方式通常需要扫帚、拖把和吸尘器分别进行操作&#xff0c;而洗地机将这些功能集成在一个设备中&#xff0c;使清洁…

谷歌Google广告投放优势和注意事项!

谷歌Google作为全球最大的搜索引擎&#xff0c;谷歌不仅拥有庞大的用户基础&#xff0c;还提供了高度精准的广告投放平台&#xff0c;让广告主能够高效触达目标受众&#xff0c;实现品牌曝光、流量增长乃至销售转化的多重目标&#xff0c;云衔科技以专业服务助力您谷歌Google广…

【mysql】in和exists的区别,not in、not exists、left join的相互转换

【mysql】in和exists的区别&#xff0c;not in、not exists、left join的相互转换 【一】in介绍【1】in中数据量的限制【2】null值不参与in或not in&#xff0c;也就是说in and not in 并不是全量值&#xff0c;排除了null值【3】in的执行逻辑 【二】exists介绍【1】exists no…