代码学上头了,感觉自己又行了!

2024-06-17 14:38:53 浏览数 (3)

今天分享 编程导航 里一位鱼友的学习和找工作经历,早早的意识到要去找实习,大二时期开始学 Java 做项目,后续也学习了 Vue 框架,自己做前端页面。

编程学习热情很高,目前已经拿到了好几家面试机会,相信他保持这股学习热情,秋招能取得很不错的结果。

星球原文链接:https://t.zsxq.com/wl7Rz 本文已获原作者授权

我就读于一所双非二本学校,目前大三。

大一的时候,还懵懵懂懂的,没有确定好学习路线,最初接触的编程语言是 C ,但是由于是后端语言,没有让我感受到开发出项目的成就感。

在选修课程中,我体验到了使用前端三件套(HTML、CSS、JS)做出成品的喜悦,所以在大一时,我本想着走前端路线,我不断学习 HTML、CSS、JS 和 JQ 来巩固基础。

大二的时候,学校开设 Java 课程,于是一边学习前端作为主线,一边学习后端 Java 作为支线。直到去年的时候关注到了鱼皮哥,一扇全新的大门打开了,我下定决心加入了 编程导航

因为自学时,包括在 B 站上的学习,一直处于持续输入的阶段,很难有输出和扩展的场景,做的项目也是学校的管理系统,总是让我感受不到自己的竞争力所在。鱼皮哥的原创项目让我收获很多。

学习经历

加入星球后,从嘉宾提问、看鱼皮哥的文章、球友们的分享,到最后的星球项目实战,都让我受益匪浅。现在想想,有时候做一件事情,方法和规划对了,才真的能够事半功倍。

进入编程导航后,我直接上手 用户中心项目 的开发。为了在项目中收获更多,无论是 Vue 还是 React 的前端框架,我都手敲了一次。每次项目都能给我带来突破性的收获,或许是新鲜感吧,当时做项目的经历真的是感受不到累,更多的是开心,每次项目都能让我学到从未了解的东西。

我学到了分布式 Session、代码的规范写法、项目上线的步骤等知识。

之后,我开始了 API 开放平台,我逐渐了解网关、RPC 框架的 Dubbo、SDK 的开发、签名认证算法等内容。完成后,我又开始了聚合搜索平台 ,学习了设计模式和 ES 等知识。

那段时间真的很开心,因为每一个项目都像是进入了一个从未接触过的梦境。完成这三个项目后,刚好赶上暑假。

暑假里,鱼皮哥又有新的项目 智能BI平台 ,于是 BI 项目成了我的实践项目。在 BI 中,我深刻体会了一把 AI 结合项目和消息队列的内容。当我完成这些项目后,就准备着手简历了。了解到简历中的项目一般有两个最佳,那我做了这么多项目,怎样也得体现一下吧,不然竞争力又小了。

于是,微服务的想法产生了。在暑假的最后一个月,我系统学习了微服务(大二上学期其实已经学习过一部分),例如 Nacos、Gateway、Sentinel 等等。

我利用以前学习前端的基础,花了一段时间学习了 Vue,准备从 0 到 1 再制作一个完整的前端(之前的项目有的是 React,有的是 Vue)。历经两个月,一个全栈的微服务项目就完成了。

当然,只是这样一个项目还是不够的,我花了五天快速完成了 OJ 判题系统。于是,我的简历终于可以投递了,8 个月的学习,真正让我有了一段热血的经历。

投递简历

关于投递,鱼皮哥经典语句“赶早不赶晚”。

所以我大三就开始投递(这其实是正常的事情,只不过因为环境的原因,包括学校环境、生活环境等,在我身边的朋友看来,大四再中规中矩地找工作不就好了吗)。

我投递的渠道主要是 Boss 直聘、实习僧以及鱼皮哥发布的一些官网等。

不过不得不说,除非是去大厂这种明确写着日常实习的,否则投递小厂基本都想要大四的,一听你是大三就直接减分了(至少我经历的面试是这样)。

面试经历

在开始讲述前,给各位分享两个点,是我收获最大的。

第一个是 HR 收到你的简历后,说推给技术人员看,一般会是半个月左右才约面试,所以大家投递了对方回复了,如果没跟你约面试,千万不要灰心,没准什么时候面试就来了。

第二个是,一定要做好准备,对项目吃透,然后面试时尽可能找机会跟面试官说“我想跟您分享一下我简历上的项目”,因为有时候你对项目理解是 A,面试官只是通过简历看,哪怕你上线了他也不一定会去访问。那对他而言你的项目就是 B,如果 A>>B,那你不是很吃亏?所以一定要抓住机会展示你的项目,毕竟项目有东西讲,八股文你不能每题都会。

既然投递了有没有面试机会呢?

只能说行情果然是行情(难)。在 Boss 投递,要么已读不回,要么因为学历的原因,还有一些是线下面试,但因为成本原因,我还是想找一些线上面试的机会。

终于,皇天不负有心人,我迎来了我的第一次面试,是一家深圳的公司,在珠海有分部(小公司)。当时我跟朋友在游乐园玩,突然接到一个电话,说要找我面试,沟通后,我们约在了下午三点。

面试官人不错,加了我的微信,让我自己选一个时间联系他面试,于是第一次面试就这样突然开始了。

第一次面试

第一次面试是我准备最少的。面试一开始是标准的自我介绍,嘟嘟嘟一堆后,面试官说开始问一些基础问题:

1)ES 拼音分词器如何使用?

2)ES 的主从复制?

3)ES 的分片集群?

4)单例模式的使用场景?

5)SpringBoot 和 SpringMVC 的关联?

6)AOP 的使用场景?

7)Spring 的通知类型有哪几种?

8)Bean 的生命周期?

因为当时我刚把 OJ 项目做完,也没想着会有面试,所以八股文这块也没有了解太多。

不过我根据项目中的实践经验,不断往实践这边靠拢,除了背诵类的 Bean 生命周期、ES 分片集群(这还真没了解)答不出来,其他还是说了不少的。最后面试官给了我一个比较肯定的态度。不过,整个面试没有谈到项目,真是遗憾。

最终,HR 给我的回复是综合考虑不合适,但具体原因不清楚。

通过这次经历和复盘,我赶紧着手准备面试题,并每天持续投递。终于第二个面试来了,也是家小厂。

第二次面试

面试官告诉我,因为他们的领导觉得我的微服务项目挺有意思,所以才给了我面试机会。不得不说,鱼皮哥的项目质量还是很高的,不过大家要自己实现扩展点,避免撞车。

问题如下:

1)Java 的 8 种数据类型

2)Java 的引用数据类型

3)MyBatis 的分页查询(用 MyBatis-Plus 多的还是要去了解下,感觉面试一般都问 MyBatis)

4)Java 的创建方式(new、反射、克隆、反序列化等)

5)ArrayList 和 LinkedList 的区别(经典)

6)Redis 的主从复制

7)Redis 的持久化

8)Linux 一些相关命令

9)SQL 防注入的手段有哪些

总结:又没问项目,真是遗憾。

最终结果是通过了,但了解到业务发现是低代码,涉及到 Java 的领域听说不多,而且公司招人很急,让我怀疑是找人做低代码的重复工作,最后决定不去,还是想找一些更有帮助的工作。

第三次面试

通过前两次面试,我感受到一个痛点,就是都不问项目。

面试官一开始问我看项目中用到了 AI,是不是对这方面挺有研究的(因为他们项目组目前就是想做 AI 相关的,以至于技术栈包括 Node.js、Python、Java)。

我说因为 GPT 挺火的,我也在学习 Java 的同时了解这些前沿技术,例如看看博客、进 GPT 相关的圈子,所以对于一些 AI 绘画、视频制作等还是有了解的。

于是,他开始出招了,问一些跟 AI 相关的问题,我哪会呀,于是我说自己主要还是做 Java,对于 AI 是作为支线在了解,然后尽可能结合项目去实践。

他说那问些 Java 基础的问题吧,这是关键点,因为是线上面试,我说能给您展示一下我的项目吗?

他一开始说项目已经有过了解,但我怕他没有真正了解,于是我说我已经打开了项目,要不要看一下?他同意了,我开始展示项目。

问题如下:

1)API 签名认证的流程(从 AK、SK 到时间戳全部讲解完整,加了分)

2)BI 项目的 AI 部分怎么结合实现的(我说是调用国内公司的 API,自己预定义模型的回复,其实他想听到的是自己部署模型的,这块了解不多)

3)JMeter 的测试是你自己做的吗?

之后我介绍了项目上线的情况,面试官开始有点没话题了,我说要不看下我的架构图吧。于是,我展示了架构图,从 Nginx 到 Docker 部署介绍了一下。他问到 K8S 有没有了解,我说有了解过理论,但实践不多,用过 CICD 的微信云托管。

总之,这次面试我们讲项目讲了大概 30 多分钟,是我最舒服的一次面试。最后 5 分钟他让我问问题,我问了一些业务方面的问题。最后看结果吧,但这次面试过程让我觉得很值。

还是那句话,大家有机会多多投递试试。我一直觉得在学校很多时候有种与外界隔离的感觉,哪怕没拿到 Offer,我们也可以有段面试经历。毕竟,第 1 次面试和第 100 次面试的感觉和准备,肯定都是不一样的。

以上,就是今天的分享,希望对大家有帮助。

0 人点赞