2020暑期实习笔记

发布于 2020-06-17  250 次阅读


2020-6-18

还有两天出发,收拾下箱子,感觉整个人都很激动,毕竟是第一次离乡打工。提前预定好了未来暂时居住的地方,和中转住宿无缝衔接,很妙。到那边之后一定要好好学习,在生产环境中多多练习真正先进的开发技术,而不是这学期某门课的奇特开发。顺便吐槽下,今年其他人正常情况是线上东软,比往年唯一的好处就是不用住东软的坑爹宿舍了。

2020-6-19

明天出发;今天又是糊作业的一天。后面还要准备线上考试,要是全改成写论文就好了,一劳永逸。。。

2020-6-20

今天出发了,中午到了住宿的地方,不得不说真的慷慨,入住的地方质量非常高,非常令人满意,就是离办公地点稍微远了点。明天要打探一下路线,后天去领个token,大后天就正式开始一切了……好激动啊,这回算是舒服了

2020-6-21

昨天晚上去打探了下路线,感觉很玄妙。后面有个麦当劳,到了晚上9点反而人越来越多。今天就继续糊作业了,其他事明天再说

2020-6-22

今天签了合同,和预想的工作状况稍微有点区别,原以为是去搞分布式,现在看来更贴近AI方向;不过也是很不错。明天早上报到,开始打工生涯

2020-6-23

今天到了工作地点,楼还挺高的;先去门口办了个临时工卡,再到二楼去办正式工卡。不得不吐槽下,我8点多出发,接近10点才到,堵车太狠了。。。不愧是大城市。下午应该能拿到办公电脑,上午见了下导师和组长,这下正式工作即将开启。开了MNET2.0权限,申请了DevCloud;

下午做了些基础的语料处理,了解了组里面主要使用Java和Golang进行开发,于是估计得学下Golang语言了。。。晚上出去吃饭,自助餐真的豪华……

2020-6-24

今天开了iWiki权限和项目权限,开始正式看文档。

FM模型

FM是一个推荐算法的模型。称之为“因子分析机”,之前我参与数学建模划水时用过(主要是SPSS的因子分析);主要用于处理稀疏数据矩阵的相关性。

One-Hot编码

一位有效编码。以0/1进行二分类编码,来表示某个特征。

公式

我们使用二次多项式来表达两个模型参数的相关性。

$$
y = w_{0} + \sum_{i=1}^{n}{w_ix_i} + \sum_{i=1}^{n}\sum_{j=i+1}^{n}{w_{ij}x_ix_j}
$$

image.png

然后一波推导。由于稀疏的原因,我们使用两个向量相乘来做到这一点。具体求解我们使用SGD(随机梯度下降)。

推荐系统设计

一般分为四个模块:召回,粗排,精排,重排。

其他部分不太好放在这上面,就不记录了

中午打了下五百空间,今年没五百是一大进步;感觉题目还是有点意思的,不过也只打了两个多小时,比较划水;

下午学了下Golang语言,感觉像个Java,C++,Python的混合语言,有了一点其他语言的基础还是感觉不错的

感觉现在跟老年人一样,经常到了下午就有点困,可能以后中午要小睡一会

2020-6-25

今天放假,去公园绕了一圈;KM权限弄好了,现在可以看一些东西来自学成才。

2020-6-26

今天划水。想到了一些前两天的想法,记录一下。

公司的每种语言都有一套编码规范(C++/Java/Golang/JS/Python啥的都有),但是关键强在每种语言的规范都有解释,大量特性的使用都有优缺点分析,非常适合我这种了解不算特别多的菜鸡过一遍;可惜不能带出来,不然将绝杀。比如C++的智能指针在编码规范中被不建议使用,因为其具有非平凡析构函数的特点;非平凡析构的问题可能导致最后内存释放出问题,然后在高并发下出事。当然,还有一个强大的地方:这些文档更新不慢,有着大量的C++14/17的特性,不像我在进去前觉得C++11就算新技术了。这些文档后面双休日除了考试看起来都要去公司内网认真看看,这对提升我的工程水平很有帮助。

同样,我也拿到了内网项目代码、文档的查看权限;整个项目的技术选型和一些分析前两天也大致粗略的看了一遍,比如常见的四种测试框架的选型,分别列出优缺点,综合判断;前两天也了解了一个产品的规划流程,这个产品放到了7月的排期里面,估计到时候我也要参与这个工作。也许我的代码会进入到生产环境上线,想想还有点小激动呢~

后面争取完整的走过一个及以上的功能开发流程,全程参与编码(估计可能性不大,我现在还算C++技术栈,项目内主要Java/Golang,有必要迅速自学一下Golang),了解一下工程实践中一些技术细节。

最后研究了下人才透视,能看到导师的职级之类的……真的特别高,根据职级表中人才培养部分的说明的话我算是严重高配了导师……一定要好好学点东西

2020-6-27

今天搬到新租的地方,很小但是舒适度还可以。继续划水。

2020-6-28

今天调试了一下项目源码,初步学习了一下Go语言。

2020-6-29

今天继续安装环境调试源码,操作了一波感觉还可以。继续学Go语言。

2020-6-30

今天极度划水,基本啥都没干……不过还是学习了一下数据库,感觉不错。

2020-7-1

今天给压力测试工具增加了画图功能,同时开始尝试开发一个Go语言为基础的完整的小服务器,完全按照工程标准走流程做。下午开了个会,了解了新产品的一些技术选型,几个不同地区(北京、西安、深圳)的组里面的部门员工发表了开发的意见,同时整理了需求的排期,感觉很高端。明天开始正式开发这个Go工程,同时完成基础任务。

同时今天发现实习的一个大好处:公司给你钱让你去学习,想想在学校里面是你给学校钱学习,一下子动力就不一样了。

2020-7-2

今天按照内网的Go API开发教程开发了前8章。感觉不错,学到了不少东西;教程一共二十多章,后面看看加速下能不能快速搞完。(原定时间3周)

下午跟导师去公园跑步,一圈就差点没了,长期不锻炼果然不行。以后得多多锻炼。

2020-7-3

今天开发了9-11章,感觉还是很不错。学了下Go-gin框架的路由转发,感觉很有意思。哦对,还学习了数据库外键的使用,确实还是有点东西的。不知道能不能在暑假把工程能力迅速拉升到比较高的程度。

晚上在餐厅恰了牛排+意大利面,需要两张夜宵券,太贵了。不过导师帮忙刷了一张,实在是太好了

今天也发工资了,感觉到赚钱的快乐——而且就是我自己的钱。

2020-7-4

今天周六不上班,所以打下SCTF。题目还是挺好的。

这周末得把三座大山搞定(软构博客,自动机作业,计算方法大作业),然后准备复习软件构造,打印马原的书;不然学分绩垮了就完蛋了虽然现在学分绩不高

中午去麦当劳恰饭,刚领的工资还是要花下的,不然太对不起我划水工作的努力了

下午去公司写码,写到晚上继续恰麦当劳。这回忘了花夜宵券,巨亏。

2020-7-5

今天躺了。下午考线上测试,趁着中间时间写一波计算方法作业。自动机作业也得加速了。

下周得全力开发新的P0优先级产品,而且我分配的工作也算是写的核心功能;这个服务最后会上线到生产环境给大众使用,还是挺刺激的。要是我的代码出问题就事情大了

2020-7-6

今天基本做完了Go API设计开发的整个服务器(12-17章),后面的高可用看了下,因为没有多台服务器所以就不做了,API性能测试则是已经在之前写压测工具的时候弄完了。感觉还是收获很大的。

2020-7-7

今天划水了。原计划做三周的Golang服务器被三天做完,所以暂时就没啥安排的任务。对于P0产品的开发,我被安排的部分排期可能要到一周后再启动,所以勉强算是划水了。之后要赶快复习期末考试。

2020-7-8

今天写了个Doc Parser的原型,利用Golang写的。组里面原来用的看起来是Apache的Tika,还有一套Java的Doc Parser,由于实在不想写Java Springboot所以用Golang调包实现了一个HTTP服务,可以通过POST请求传输文件过来然后直接解析成JSON格式的文本然后返回。PDF实现了一个分页功能,docx没有实现分页从而有点麻烦,不过还行。总之基本是一天造完了轮子,明天把这个轮子和其他轮子比较比较然后写个报告。

中午了解了一下微服务,微服务不一定需要细分的很多,可能在顶层分流然后直接模块化细分,模块的子模块有时就不需要再次细分了。因为连接传输还有延时,直接调用模块可能延时会更低。

晚上划水写文章。

2020-7-9

今天划水。计算方法作业必须赶,实在没办法,11号前要交,还要写5000字,只能划水写文章了。于是就只能写文章,然后顺便学点知识。

2020-7-10

今天主要是调研DocParser系统。因为日报写的太少(十几个字)被批判了一番。确实,下次得写的多些,把学到的东西进行整理。之前觉得毕竟都是KM上已经存在的东西,没有必要重复整理,不过确实如果整理一下的话学习效果可能会更好。

今晚糊软件构造博客,明天开始干活——极限复习软件构造。一天时间一定要速成成功。

2020-7-11

今天大复习软件构造

2020-7-12

今天早上考软件构造,下午搞ACM比赛,晚上累死了提前睡觉

2020-7-13

今天学习了下分布式数据库方面的一点知识,不方便放出来。

下午建了Docker镜像,操作了一波

2020-7-14

今天学了些Docker方面的知识

2020-7-15

今天写了个Go工程对Tika进行转发,感觉不错,封装成合适的镜像传内网了,测试可以正确运行;支持动态挂载、动态配置文件热更新,传输效率很高,感觉还行。后面有机会把项目放github上面

2020-7-16

今天主要是自学自动机和划水,定个计划:有机会利用这几天学习的架构写一套完整的框架,实现类似Severless的功能,带自动编译、动态路由转发、日志数据中台可视化,主要面对Go语言;不过也有可能这个就被鸽子掉了,毕竟计划从制定完就失去价值了

2020-7-17

今天组长跟我说用Sidecar设计模式来设计某个组件可能更好,深受启发,于是改了下。今天学习了一些Zookeeper的小知识,感觉受到一些启发,应该以后可以自己试试。今晚极限复习自动机。

2020-7-18

今天考自动机和马原。极限复习了两小时马原居然有效果,奇迹了。下午考完得知自己东软的实训被记了旷课,太坑了,理论一波没有结果。往年都能换的今年都不能换,真的巨坑。只好每天硬上。

2020-7-19

今天考了英语。考完之后去健身,出了一身汗,感觉自己锻炼了不少。写完了独立学习作业,事情又少了一件。下周算法考完,再把东软的奇特项目做掉,至少大学课程就没东西打扰我学习了。

2020-7-20

修bug,自学成才

2020-7-21

修bug,自学成才

2020-7-22

修bug,自学成才

2020-7-23

修bug,自学成才

2020-7-24

bug修完了!下个任务排期排到8月份了,可以先划水一阵子了;顺便开始复习明天的算法考试。极限一天复习大法好;

下午复习完感觉不错。晚上可以做做自动机和往年题,提升下,应该就差不多了

2020-7-25 ~ 2020-8-2

考了个算法,然后考了个云从业资格证,都还行;下个月可能会考个云架构认证;然后一天极限糊完了东软,还算不错;

设计了一套计费系统,Go拦截器,Redis+MySQL缓存机制,双表冷热分离,感觉设计的不错;不过组长跟我说不要用MySQL的一些特性(比如函数、事件调度器等),否则会给后面拓展带来麻烦,想想确实如此。

顺便再说下连续主键的好处:使用连续主键会在使用分布式数据库的同步速度加快,离散主键可能会稍微影响性能。

犀牛鸟那边要我做一个技术方案,没办法只好做一下,太忙了……希望8月能轻松点。

后面还有一个CTF国赛、网鼎的比赛,DTCode的代码迁移,TPC的程序设计,牛客和多校的ACM,还要准备ACM讲课,希望多多划水,不学了

2020-8-3 ~ 2020-8-11

把计费系统整个细节做了一遍。ACM那边还没准备,CTF最近又没有太打,感觉不太行。总之最近感觉良好,回学校之后要更加努力。

2020-8-12 ~ 2020-8-21

最后一周对整个系统的各个细节做了一些小修小补。然后回老家去了。在深圳打工的日子结束了,感想就是租房的房子太小会自闭。不过在深圳确实还是学到了不少知识和技巧,捞钱也捞了一些。所以,这篇笔记也就停更了——希望未来能找到更好的工作,走上人生巅峰

It is my final heart.
最后更新于 2020-06-17