朋友作的秒杀系统被面试官嘲笑了! 大专毕业,天天都是CRUD,很难受!

我是Guide哥,一Java后端开发,半个全栈,自由的少年。前端

标题没有鄙视大专的意思,只是读者的状况是这样,玻璃心和杠精就别乱评论了。程序员

今天的话,这篇文章,主要回答一些小伙伴的问题。不过这些问题的话,相信也是大部分小伙伴会遇到的,全部,你有必要看到最后哦!面试

01 我跟着视频作的项目会被面试官嫌弃不?是加分项不?

固然是加分项呢!不排除确实有的面试官不吃这一套,这个也看人。不过我相信大多数面试官都是能理解的,毕竟你在学校的时候其实是没有什么得到实际项目经验的途径的。算法

别担忧,大部分应届生的项目经验都是本身在网上找的或者像你同样买的付费课程跟着作的,极少部分是比较真实的项目。 从你能想着作一个实战项目来讲,我以为初衷是好的,确实也能真正学到东西。 可是,究竟有多少是本身掌握了很重要。看视频最忌讳的是被动接受,本身多改进一下,多思考一下!就算是你跟着视频作的项目,也是能够优化的!若是你想真正学到东西的话,建议不光要把项目单纯完成跑起来,还要去本身尝试着优化!数据库

简单说几个比较容易的优化点:编程

  1. 全局异常处理 :不少项目这方面都作的不是很好,能够参考个人这篇文章:《使用枚举简单封装一个优雅的 Spring Boot 全局异常处理!》 来作优化。
  2. 项目的技术选型优化 :好比使用 Guava 作本地缓存的地方能够换成 Caffeine 。Caffeine 的各方面的表现要更加好!再好比 Controller 层是否放了太多的业务逻辑。
  3. 数据库方面 :数据库设计能否优化?索引是否使用使用正确?SQL 语句是否能够优化?
  4. ......

而后,再给你们推荐一个IDEA优化代码的小技巧,超级实用!后端

分析你的代码:右键项目-> Analyze->Inspect Code缓存

扫描完成以后,IDEA会给出一些可能存在的代码坏味道好比命名问题。前端框架

而且,你还能够自定义检查规则。数据结构

02 去外包对本身简历有影响么?

去外包对简历的影响,主要仍是看你去的公司和经历的项目,好比你在 ThoughtWorks 作外包的话我以为对你的简历就没啥影响,甚至仍是加分项。个人不少同事跳槽,都是去了字节、阿里这些大公司。

另外,去了外包以后之后只能混外包这种说法有点自欺欺人。

首先,外包的技术深度确实不比大公司,这点没办法,根本属性决定了。而后,外包公司通常会让你会不少东西,什么东西都想让你了解一下,这可能会致使你没有一门比较精通的技术。你是Java程序员,下个项目须要你是IOS开发,而后你就要本身学,这个仍是很坑的。

不过,刚毕业的话在外包干两年仍是能学到一些东西的,由于你在外包公司会让你经历大量的实战项目。

其实,最重要的是,本身平时要注意多多思考和学习,勿要浮于表面就行了。

不少人抱怨抱怨公司工做强度不少大,就我来看,不少外包公司的工做强度甚至比不上甲方的程序员。

按照大众的话来讲,最好是不要去外包公司,这点是没啥问题的。不过, 若是说你目前正在外包公司工做或者你只能找到外包工做的话,不要一味抱怨,只要本身能学到东西就好!

03 我都是 CRUD 的工做经历,该如何提升呢?

这个读者的大概的状况是大专毕业,工做半年,目前的薪资是 7K ,他的目标是在工做一年后能够收获 10k 的月薪。他的问题是说本身应该怎么朝着这个方向努力?

10k+的工资在北上广,能够说是在程序员中比较低的薪资水平了,即便是你刚毕业一两年状况。

达到10k的水平要求不是很高,能完成基本的业务功能(crud),能读懂已有的老代码我以为就彻底够了。

可是,人老是要继续往高的方向去走的,刚开始必定不要给本身设定门槛。另外,目标薪水当然重要,可是不是关键的东西,我以为还要考虑你的工做对我的的成长。

我以为一个好的Java程序员应该具有下面这些素质:

  1. Java基础 :掌握 Java 基础知识(能够看《Java 核心技术卷1》或者《Head First Java》这两本书在我看来都是入门Java的很不错的书籍),固然你也能够边看视频边看书学习(推荐黑马或者尚硅谷的视频)。必定要记得多总结!打好基础!把本身重要的东西都记录下来。
  2. 多线程 :掌握多线程的简单实用(推荐《Java并发编程之美》或者《实战Java高并发程序设计》)。
  3. 算法和数据结构(可选):若是你想进入大厂的话,我推荐你在学习完Java基础或者多线程以后,就开始天天抽出一点时间来学习算法和数据结构。为了提升本身的编程能力,你也能够坚持刷Leetcode。
  4. 前端知识 :学习前端基础(HTML、CSS、JavaScript),固然BootStrap、VUE等等前端框架你也能够了解一下。
  5. Git : 版本控制工具Git绝对比必须的。你能够本身去Github上下载一些项目看,而后本身也上传一个项目到Github上去。
  6. MySQL : 学习MySQL 的基本使用,基本的增删改查,索引须要重点关注,存储过程能够简单了解一下。
  7. Maven : 建议学习各类框架以前能够提早花半天时间学习一下Maven的使用。(处处找Jar包,下载Jar包是真的麻烦费事,使用Maven能够为你省不少事情)
  8. 框架 :学习Spring、SpringMVC、Hibernate、Mybatis 等框架的使用,(可选)熟悉 Spring 原理(大厂面试必备),而后颇有必要学习一下SpringBoot。我也遇到不少公司对于应届生直接上手SpringBoot,不过我仍是推荐你有时间仍是能够把Spring、SpringMVC好好学一下。不过 SpringBoot 优先级最高!
  9. Linux :学习Linux的基本使用(常见命令、基本概念)
  10. 分布式 :学习Dubbo、Zookeeper、常见的消息队列(好比ActiveMq、RabbitMQ)的使用.(这些东西能够经过黑马最后一个分布式项目来学,边看视频,边本身作,查阅网上博客,效果更好)
  11. Netty : 能够学习一下NIO和Netty,这样简历上也能够多点东西。
  12. (可选),若是想去大厂,JVM 的一些知识也是必学的(Java内存区域、虚拟机垃圾算法、虚拟垃圾收集器、JVM内存管理)推荐《深刻理解Java虚拟机:JVM高级特性与最佳实践(最新第二版》,若是嫌看书麻烦的话,你也能够看我整理的文档,在下面有连接。
  13. 微服务:微服务的一些基本概念、SpringCloud和Spring Cloud Alibaba那一套均可以学习一下。我比较推荐的是学习 Spring Cloud Alibaba,由于首先它是阿里开源的,文档比较丰富,另外,它比较新,各类组件均可以说很不错。
  14. 进阶 :操做系统底层知识、计算机组成原理、Java编码优秀实践、SQL调优、定位解决线上问题的能力等等

知道要学什么以后,如何去学呢?

我以为学习每一个知识点能够考虑这样去入手:

  1. 官网(大几率是英文,不推荐初学者看)
  2. 书籍(知识更加系统彻底,推荐)
  3. 视频(比较容易理解,比较推荐,特别是初学的时候),另外,你们不要说本身工做不少年,技术也比较厉害了就不能看视频学习了。我认识的不少大佬,包括我经历的几个项目组的技术Leader,他们都有看视频学习技术的习惯。
  4. 网上博客(解决某一知识点的问题的时候能够看看)。

最后,有一个建议是:看视频的过程当中最好跟着一块儿练,要作笔记!!!最好能够边看视频边找一本书籍看,看视频没弄懂的知识点必定要尽快解决,如何解决?首先百度/Google,经过搜索引擎解决不了的话就找身边的朋友或者认识的一些人。

这个回答对应的视频版本,你们在B站搜索“Guide哥”便可查看!

闲聊

今天第一次和一位网友面基!我就简称这位老哥为文哥吧!由于文哥常常帮我在JavaGuide 的 issue上回答问题,因此, 我对他的印象很深,平时就偶尔会聊一下天。另外,文哥还在公众号投稿过一篇很是不错的文章:《5分钟白嫖我经常使用的免费效率软件/工具!效率300% up!》

文哥是杭州的,今天恰好来武汉,因此就想着说一块儿吃个晚饭。挺好的!一块儿聊聊天,吐槽一下万恶的资本主义,哈哈!

文哥和我同样都属于比较典型的程序员,一看就比较老实憨厚,也不是特别擅长言谈。从平常的接触和见面的聊天,感受文哥仍是很是实诚的。也但愿文哥之后可以顺利上岸阿里!

请文哥吃了龙虾,嘿嘿,仍是挺好吃的,就是估计又要长胖一点了。

若是你也想向我提问的话,欢迎在评论区说出来或者发邮件到个人邮箱:koushuangbwcx@163.com 。

我是Guide哥,一Java后端开发,半个全栈,自由的少年。

相关文章
相关标签/搜索