大二寒假实习面试&工作经历

正好放了寒假,朋友问我想不想挣零花钱,确实有等小米平板7Pro的想法,遂入职(现在准备买ipad pro了

这是一家初创公司,面试问题也很务实,没有面试造火箭,入职拧螺丝的问题()回答起来也很顺畅

面试问题

  • 数据库索引
    • 数据结构 -> B+树
    • 以时间换空间?->Yes
  • 浅拷贝深拷贝
    • 这个好说,我可是C语言和Rust高手,直接指针一顿搓
      • 深拷贝之类就类似于结构体/对象的Clone,浅拷贝那就是基本类型的直接复制
  • Golang语言的Gin框架
  • 自己项目的一些crud操作是怎么实现的
    • 和上面一起直接开了Goland介绍起来了,过
  • 栈上和堆上分布的内存情况
    • 这个也应该是学习C语言时候的基础,很简单
  • redis的作用 其中的一些数据结构
    • 还没学,本来大一暑假做那个Momotok的时候打算顺便学,结果两星期备考高数摆了(然后补考21(
      • 然后回答了虽然还没学,但是知道是把数据存到内存的数据库(后面再学)
  • 什么是第三范式
    • 正好期末考试考过(不过记得不是很清楚,回答了3NF就过了)

其他记不得了,反正不算太难,也可以证明自己不是学**,月薪过万之类的培训班杂鱼,然后这样就过了,周一晚上面试,周二下午和老板交流然后进工作群,晚上创好公司GitLab账号和Pingcode账号,周三听了个会,熟悉代码,周四感觉自己行了,晚上开会就安排任务,周五就开始工作

工作经历

第一次工作的第一个任务就碰到了人生中最恶心的模拟题,本来开会是说让我做文件分发系统,但是后来让我写下面的这个表格生成器,组长说这个更简单,虽然没这感觉(),做的时候感觉像在做JSP,PHP那种前后端不分离的全栈,特别难受。再加上改需求和美化写了两天半才搞定(上午都在睡觉

一开始用的是EasyExcel包,阿里的,一翻文档发现没提到手动设置的合并单元格,也就是这个合并单元格,太麻烦了,我甚至觉得我做不了这个想打退堂鼓(),后来查资料发现还有Poi,Apache的,然后就0基础速通了()

Poi比较灵活,是把表格视作一个很大的二维数组,先是Workbook Object,然后是Sheet Object,Row Object,最后是Cell Object,Cell就相当于是这个巨大二维数组上的元素了。当然看到这肯定能看出弊端了,如果表很大就会爆内存呗,这么多对象,不爆都难。然后就开始很恶心的做呗,测试来测试去,还有依赖冲突啊缺包问题之类,总算是把他搞定了,不知道周一开完会第二个任务做什么,祝自己好运。下面给两张图结尾,总而言之就是在面向搜索引擎和结果编程,话说回来,工作中接受新事物的能力是很重要的,别害怕就是()

改了不知道多少遍后的最终版

第二个任务让我做vue.js的甘特图优化算法,可是后面的Map解析没看懂,咕了,组长半夜弄好了,毕竟我还没学前端

第三个任务直接让我做整个后端系统,那就做呗,发现工作任务真的不像一开始说的一样就Crud,他甚至有上传压缩包并且后台解压,同时解析整个压缩包的文件名来做记录,这其中还有编码问题,后来换了apache的两个包解码GBK才搞定,java api的不够用,其它的倒还好,除了规范之外也没啥大问题,就这样写了一个SpringBoot+MybatisPlus项目

年前结算3k,还可以,年后居然开始全栈了,我前端明明0基础,麻了,好在当赛博裁缝当了半天总算弄完了,加了一个项目优先级的字段,前端页面新建项目和修改项目也一并加了,还要排序和筛选,后端其实还好,改一下DTO,主要是前端不太会。下面就是21号做的

22号让我加文件外发系统的PDF预览功能,还要区分可下载和可预览,找了mozilla的库,就叫PDF.js,吃完炸鸡外卖再来想想怎么处理吧

额,挺麻烦的,因为跨域的问题,所以采用流式传输了,而且要注释掉下载和打印并且禁用右键,有一点自欺欺人,但是只要是给人看的东西那一定有办法传出信息…这也是没办法的事,没学过前端就开写确实很麻烦,最后也不清楚canvas丢哪,时间太晚就先上床了…依赖还有各种error类型转换搞半天

后来还得是大厂员工,看了一下就知道了,换成了ref而不是DOM,前端页面再塞一个div就搞定了

现在开始开发设备预约系统,一开始说让我一个人包一整个系统,后来发现前端没有经过系统性学习,有点心虚,就负责后端系统全部的开发然后再做一点简单前端(表单,表格,新建编辑删除之类)。流程基本熟悉了,和产品经理开完会后确定需求和工期,设计数据库字段,拉初始化系统框架,调依赖,写映射,然后设计接口完成接口,再然后写service层逻辑,最后测试再和前端联调,基本就完成了,开学做完这个就不做了,回归大学生活(顺便等着新iPad Pro出了光速购入)

更新一下,之前又发了一笔评价激励奖金,确实很激励,决定继续干,负责完成三个系统的任务分配(都不是很多,集中注意力的话一周三四个下午就可以完成)


2024.3.16:我测,工作量还是有点大的,3.15做了一个特别抽象的需求:定时轮询远程服务器获取机器状态,定时任务放在了quartz定时模块里,但需要从另一个模块的service拿设备地址,另一个模块需要从定时模块拿状态,于是出现了模块A依赖模块B,模块B依赖模块A的情况,我自己又面向注解编程无脑autowired,一开始甚至离谱到给Class上了autowired,自己还查了半天,后来找了dalao网友求助,拷打了一下才发现写的太离谱了,后来的解决方案就是

  1. 直接重构,但是不太可能,定时模块不是纯quartz,被若依框架包装了一层
  2. 使用丐版RPC,也就是通过localhost本地网络传递数据,是可行的,就是不太安全,太离谱了,居然都能发展到这种地步
  3. 模块A依赖模块Common,模块B依赖模块Common,通过在Common加个公共interface包含static的List来解决,这个就还行,逻辑上多注意空指针就行

这个的教训就是,不要无脑全写框架,有时间还是要关注一下底层原理(主要是没空,我又贪玩,现在玩的时间也很少很少了(

评论

  1. Dayearg
    博主
    Macintosh Safari
    3 月前
    2024-1-22 22:24:35

    我就是这个朋友😂希望小米平板7给力点

    • 博主
      Dayearg
      Android Chrome
      3 月前
      2024-1-22 22:27:39

      希望不要OLED,适配和SOC再好点🙏🏻()

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇