首页 > 编程语言 >离谱!学编程两年,还不会用工具类?

离谱!学编程两年,还不会用工具类?

时间:2024-12-18 11:12:05浏览次数:4  
标签:路线 教程 入门 编程 离谱 学习 鱼皮 工具

我已经在极力忍耐了,但实在是没忍住。。。

那天在面试一位候选人的时候,我还是笑了出来。

怎么回事呢?周二晚上我公开直播模拟面试的时候,来了一位经历 “有点独特” 的同学,暂且就叫他小 A 吧。小 A 才 26 届(刚大三),就有国赛和省赛奖项、2 段实习经历、简历上也写了 2 个项目。最关键的是,他竟然有 3 段培训经历!从高考结束开始,就分别参加过 Python、软件测试、Java Web 的培训,算下来至今已经学习编程两年半!

直播记录

听起来是一位卷王了,学习时间久、自主性也挺强,直播间的朋友们和我一样,对小 A 接下来的表现充满期待!

小 A 的预期薪资是 12 ~ 15 K,看来也是自信满满,来势汹汹!

结果你猜怎么着?第一道题结束,他的薪资就直接腰斩,6 k 不能再多了!

额,准确地说,要不是模拟面试,估计这场面试到这里也就结束了。

为什么呢?我到底问了什么题?大家也可以来感受一下:

 

面试现场

鱼皮:你在开发 Java 项目中用过哪些集合类或者工具类?你在开发中是怎么提高开发效率的?

这道题目,其实只要你认真做过一些项目,应该都能说一点自己的想法吧?

结果小 A 答:我用 MyBatis、Spring Boot 啥的。

鱼皮:我理解你说的这些算是开发框架,当然非要说是工具也 ok。那你用过哪些工具类库呢?举个例子:你要把字符串的小写转为大写,你是自己写一个方法去转换,还是用什么现成的东西?

小 A 答:对于这种情况,我一般都是直接查教程。

我暗自心惊:还能这么回答?根本难不倒他!

其实问到这里,我基本上已经了解候选人的水平了,但想着可能小伙子面试经验不多,又有些紧张,我就再问得具体一点好了。

于是就有了下面这段对话:

直接把小 A 问懵了啊!

 

后面的面试过程也是类似的,有很多非常基础的内容,小 A 不但无法答出,甚至还不断爆梗!

比如:

1)鱼皮:你平时开发用过注解么?

小 A:用过,平时最多用的就是 ctrl 加一个杠的一个警字号的一个注解,还有 ctrl shift 的加杠的一个多行注解。

鱼皮(反应了一会儿):这不叫注解,这是注释啊!注释啊这是!

2)鱼皮:你是怎么注入 Bean 的?比如 Autowired 还有 Resource?

小 A:All to wear?刚才你说的那单词我没我没理解。。

3)鱼皮:平时应该写过 SQL 吧,写一句 SQL 来实现男生和女生的分组?

小 A:我还真没用到过

4)鱼皮:你做过订单相关的项目对吧?有了解过你们订单表的数据量么?

小 A:数据量还挺大的。。

鱼皮:挺大是多少?说一说你认为的 “挺大”

小 A:几千条左右?

我当时就这表情:

鱼皮:数据量挺大起码也得单表百万、千万条数据吧?

没想到小 A 突然提高了音量:百万他不让我做,百万咋可能让我做?!

真实。

问到后面,小 A 直接摊牌:“简历上的技能部分我不知道怎么写,直接从网上粘一下。”

 

我的建议

面试经过大概就是这样,直播间观看这场面试的朋友们甚至怀疑:鱼皮你在哪里请来的演员?

正在阅读这篇文章的你,或许也会觉得不可思议,学了两年半,怎么连工具类都不会用?连分组的 SQL 都不会写呢?

但其实我接触过这么多学编程的同学,回答过数万条向我的提问,我很清楚, 这并不是偶然 。真的有很多同学像小 A 一样,或许受限于学校的应试教育、或者受坑于某些不专业的培训机构、又或者因为不确定自己的学习方向辗转反侧反复横跳地学习,就会导致看似学习时间挺长,其实水平可能还不如学了半年的同学。

给大家分享这位同学的经历,也是希望借此给所有自学编程的同学一些建议,不要让你的 “两年半” 变成这样。

  1. 提前确认要学习的方向,越早明确一个方向越好,走直路比走弯路能够更快达到终点。

  2. 在选择一个方向后,先利用网上的资源自主学习,不要急着去报培训机构,降低你的试错成本。比如我在编程导航写过的 免费编程学习路线 ,先快速过一遍,也就有一个学习的全局感了,更好把握时间进度。

  3. 学编程的过程中,多记录自己学到的知识和技巧,积累自己的笔记库,没事就看一看,这样你写过的代码、用过的类库印象都会更深刻,就不会出现 “一问三不知” 的情况。

  4. 除了看系统化的教程学习外,平时没事就多阅读一些技术文章、或者提前看看你学过的知识对应的面试题,能学到很多教程之外的小知识点。像我带团队开发的 面试鸭刷题工具,也能帮大家多利用碎片化的时间自学。

当然,我还是非常看好小 A 的,表达能力很不错、心态也很好,而且现在才大三,之后有了明确的学习路线和方向,相信也能高速进步~

最后,再列举一些几个我认为初级后端程序员必须要掌握的知识技能,如果目前还不了解这些,就要尽快去补充咯!

 

初级后端程序员必备知识技能

这里我对初级程序员的定义是 —— 至少能干活。大家可以把下面的技能当做自测表,看看这些你都会么?

我对知识点进行了分类,便于大家阅读~

1、基础编程能力

  1. 你是否能够熟练使用至少一种后端编程语言(如 Java、Python、JavaScript、Go 等)?

  2. 你是否了解基本的数据结构和算法(如数组、链表、哈希表、排序算法、队列、栈)?

  3. 你是否会进行代码调试和使用断点排查问题?

 

2、开发工具和环境

  1. 你是否熟悉代码版本管理工具(如 Git)及基本操作(分支、合并、解决冲突)?

  2. 你能否自主搭建一个简单的新项目(比如 Spring Boot 项目)?

  3. 你是否熟悉常用开发工具(如 IntelliJ IDEA、Postman、JMeter 等)?

 

3、后端开发核心知识

  1. 你是否清楚用户登录的完整流程,尤其是 Session 与 Cookie 的概念?

  2. 你是否了解 HTTP 的基本概念,包括 GET、POST 等方法的区别和用途?

  3. 你是否能够设计并实现增删改查(CRUD)功能?

  4. 你是否熟悉数据库操作,包括 SQL 查询(联表查询和分组)、事务等基本概念?

  5. 你是否了解数据库表的基本设计原则(如字段命名规范、索引、逻辑删除等)?

  6. 你是否知道如何防范常见安全问题(如 SQL 注入、XSS)?

 

4、前后端交互

  1. 你是否了解前后端交互的基本流程(如 HTTP 请求和响应、状态码)?

  2. 你是否了解常用的数据传输格式(如 JSON)并能处理这些格式的请求和响应?

  3. 你是否知道如何防范常见安全问题(如 SQL 注入、XSS)?

  4. 你是否知道如何使用工具(如 Postman、Curl、或者其他国产软件)来调试接口?

 

5、日志与调试

  1. 你是否了解开发中应该要写日志(如 log4j、SLF4J 的使用),并能通过日志排查问题?

  2. 你是否能捕获异常并处理错误情况,避免程序崩溃?

 

6、项目配置与部署

  1. 你是否能配置基本的服务器运行环境(如 Nginx、Tomcat)?

  2. 你是否熟悉常见的打包和构建工具(比如 Maven、Gradle)?

  3. 你是否知道如何部署一个单体项目到服务器(如云服务器、本地 Docker 部署或者可视化面板)?

 


 

这些知识大家都掌握了么?还有什么你认为对后端程序员来说非常重要的核心技能呢?欢迎评论区留言补充~

 

更多编程学习资源

标签:路线,教程,入门,编程,离谱,学习,鱼皮,工具
From: https://www.cnblogs.com/yupi/p/18614335

相关文章

  • 什么是数据建模,数据建模的重要性、数据建模的主要方法、数据建模的流程、数据建模工具
    一、数据建模的定义数据建模是指对现实世界各类数据的抽象组织,确定数据库需管理的对象、对象的属性以及对象之间的关系,并用适当的工具和符号进行表达的过程。它就像是为数据构建一个蓝图,这个蓝图能够帮助我们更好地理解、存储和使用数据。例如,在一个学校的信息管理系统中,我们可......
  • 高效准确的PDF解析工具,赋能企业非结构化数据治理
    在数据为王的时代浪潮中,企业数据治理已成为组织优化运营、提高竞争力的关键。随着数字化进程的加速,企业所积累的数据量呈爆炸式增长,数据类型也愈发多样化,这些数据构成了现代企业数据资产的重要组成部分。然而,传统的数据治理方式主要聚焦于结构化数据,如数据库中的表格信息,而对于非......
  • 中小团队必备工具:如何用协同管理软件提高效率
    一、中小团队面临的工作效率挑战中小团队通常面临以下几个主要的工作效率问题:1.1资源有限,工作繁重与大型企业相比,中小团队往往资源有限,人员紧张,团队成员往往需要身兼数职,处理多种任务。这种情况下,如何有效分配工作、确保每项任务顺利推进,就成为了管理的关键难题。1.2缺乏系......
  • NPM,可视化的Nginx管理工具
    NPM,可视化的Nginx管理工具前言NPM,全称:NginxProxyManager,是一款可视化的Nginx的管理工具。众所周知,Nginx的配置文件对于新手尤其是我这样的小白,还是很难上手配置的。虽然说现在可以使用AI,大大降低了理解,配置难度,但是可视化的配置仍然具有很大的优势,极大的降低了我们使用的门......
  • React 工具和库面试题(一)
    1.如何在React项目中使用Hooks从服务端获取数据?在React中,我们通常使用useEffectHook来进行副作用操作,比如从服务端获取数据,结合useState来管理数据状态。基本步骤:使用useEffect来执行异步操作(如fetch或axios请求)。使用useState来存储数据。使用asyn......
  • React工具和库面试题目(二)
    1.使用Webpack打包React项目时,如何减小生成的JavaScript文件大小?为了减小生成的JavaScript文件大小,可以采取以下几种策略:1.1代码分割(CodeSplitting)Webpack支持通过动态导入和React.lazy等技术进行代码分割,只有在需要时才加载相应的代码。这样可以有效地......
  • 鸿蒙+next+封装轻量级缓存工具PreferencesUtil
    鸿蒙next封装轻量级缓存工具PreferencesUtilimportpreferencesfrom'@ohos.data.preferences';importdataPreferencesfrom'@ohos.data.preferences';import{AppUtil}from'./AppUtil';typePreferencesValue=string/***preference......
  • 实验6 c语言结构体 枚举应用编程
    task41#include<stdio.h>2#defineN1034typedefstruct{5charisbn[20];//isbn号6charname[80];//书名7charauthor[80];//作者8doublesales_price;//售价9intsales_count;......
  • Windows ANSI API 是指 Windows 操作系统 提供的一组 应用程序编程接口 (API),它们使用
    WindowsANSIAPI是指Windows操作系统提供的一组应用程序编程接口(API),它们使用ANSI字符集来处理字符串和文本数据。ANSI字符集是较为老旧的字符编码标准,通常对应的是Windows-1252编码(又称Latin-1)。这些API主要用于与字符串和字符数据交互。1. WindowsANSI......
  • 全平台局域网(内网)数据传输工具 LoadSend
    前言不同系统的电脑、手机,文件传输有没有简单一点的方法?手机是iPhone,电脑是Windows,如何更快捷传输文件呢?我们最常用和用得最多的文件传输工具可能就是微信以及QQ了吧!其实,如果只是在局域网内,用微信这一类聊天工具来传输文件并不算特别合适,除了可能存在的文件大小限制,最大的问......