个人建议的话,
如果是408、985硕问,那肯定直接奔着大厂去了,直接去看面经不好吗?
比如说我们学校吧:其实我们学校是在华为的招聘名单里面的,但是校招的时候华为不来!!!就一个云面试!(网上的,就不来)
去校招的话,都是自己关注、自己学习、自己投递、自己面试。学校不管。
那时候没有主动性(我现在也没有那种主动性)。
在重工企业想要拿到好的offer,就不能去校园招聘,而是自己坐飞机坐高铁赶去面试场,而且还不报销。
所以,北方的那些211(比如石油、哈工)面试一次好的IT都很难。
比如说:我是一个机械专业的硕士,你在学校面试的话根本没有机会,只有走出去才能面试。
我遇见过的:
第二个问题就是:培养计划里面关于计算机的啥都没有,一脸懵逼
我那时候的感受:面试IT之前至少得半年到一年的准备期,还要实习,没人告诉我啊!!!
大四学校就往企业推人了,面试指望学校教的根本用不上(或者不够)
需要大量的自学和时间的堆叠。
大多数的人是这样的:
大多数的人其实时间不在学习上,在选择上:我迷惘啊,我到底要干啥?根本静不下心来。
别问,问就是我也这样。
而且:大多数人作为程序员的热情很低。考公考研的热情高涨。
很久之前,一个大佬和我说:gui还用练?几十个赞。
人家工作了好几年了,代码都写几十万了,当然不用练了。大多数的人还需要练习,很多业务都是GUI的堆叠。
(就是普通的图像化界面,比如如何测试、断点、maven构建,api也很重要)
我自己学Python的时候已经刷了800题,入门java的时候(现在也没学好),大概用了1个月的时间熟悉各种数据结构的api。(之前写的各种数据结构的gui,应该是api来着)和idea的各种快捷键、调试断点。
说句最真实的:
你进去企业以后没有人和你说GUI的,也不会教给你,这种东西基本都是自己百度。最多给你讲讲项目逻辑。
gui都不熟,api都不会用,同事会给你讲?你敢问?
如果基本功都不练习,我觉得会吃很大的亏。
指针这个东西有人说不用学,那么至少得学引用啊、学堆栈啊。指针都弄不懂学这些东西没法学。
我学指针的时候那是C++ 的,真的学的一头雾水。
这些东西或多或少都有指针的影子。
看不懂也去看看,以后用的着。
底层的东西,这些东西学了是最赚的,可是实际业务又大概率用不上。只有靠自觉。
对外行而言,个人认为:报班不太合适,看书也不太合适。
有人说:看人。
都认是外行了,外行不知道啥是好书,建议还是看视频。
书这个东西是好东西,可是你说一个入门的去啃大头书,他啃不了。这种大头书都是有项目经验提高用的,不合适。
有些书的确垃圾书。(尤其是入门书)
比如说:做个游戏用PythonGame去写贪吃蛇,你工作也去写贪吃蛇啊?
我之前工作,然后看书,发现:和实际工作脱节的太严重了!
有的书天生就是当工具书去查的
第二个事情,就是培训的教程。
本人记性还是不错的,然后读题的时候遇见过两个背板的网课。
啥叫做背板呢?就是教案一模一样,脱离实际生产的那种。
这个技术NB,那个技术NB,这个吊那个厉害。
还是写各种飞机大战贪吃蛇各种小游戏。
这些哄孩子呢?
培训机构云龙混杂,有的水平只会背书。
视频的话,我现在在看狂神说。这个人说的很基础,而且弹幕也很多。书的话没有推荐,因为还没有到给别人推荐书的级别。
我是实际工作了一年,知道:所有的技术起点就是增删改查。所以sql永远是最基础的。看数据库,看索引、看二叉树、看时间复杂度。然后是各种锁,数据库的各种性质。
至于其他的东西都是服务于数据库的。基本所有的知识点都在数据库有所映射。
说一下:小微企业看中项目经验和工作年限,不问你题目问框架,刷题也没用……
刷题的话,个人认为中等是比较合适的。因为困难真的没用思路,简单题又指望不上。
我的水平是:不看题解,可以搞定1200道中等里面的600道中等。也就是一半。我认为300道中等是比较合理的一个面试区间。
困难我又不是去打竞赛的,也可以应付大多数的面试,面试用的着再说。
小微企业的话,是这么问的:
你回答:是或者不是。
是的话会问技术的一些细节,比如:oracle闪回用过吗?
你就告诉他用过(核实用过,不用太深)
不要手写delete语句和update语句。尽量不要。因为这些操作是不可逆的。
如果必须要写,那么用
delete form t1 where id = 1;
update t1 set name = '100' where id = 1
学闪回和binlog回滚。刷计费业务的时候要备份。
不要用rm -r或者rm -rf,要用rm(因为会确认)
不要锁表
这些东西都懂了以后,就不会搞出啥恶性故障了。
之前工作的时候,遇见一个哥们, 是这么说话的:
这个东西我只能说:不适合。
个人感受:在IT的投入刚开始的投入是没回报的。
这是我真实的感受,刚工作的时候那是真的一点回报都没有,前几个月往里面花费时间、精力没有任何回报。你甚至不知道学这些东西有啥用。
比如说吧:
我遇见这种同事,当场高冷装菜鸟。
我花了5个月的时间去学python,4个月的时间学java。各刷了800(其余那100在牛X那边),业务也用过。
总的来说:
比如说:
你雇了十个开发写Java,然后你需要10台机器
用了Python以后,需要5个开发,30台机器
用了C或者C++,你需要30个开发,5台机器
就问老板怎么选
个人考虑:
python这个语言是解释性语言,需要进行预处理-编译成pyC(中间字节码)的过程、动态类型,(之前写的c)导致性能消耗的确比Java大。
比如JIT、锁、多线程啥的,Python有解决方案,不过的确不太成熟。
动态类型,所以如果开发的水平不过关的话(比如说没有做类型标注、返回类型指定),维护起来是比较困难的。
也是因为这些个原因,我之前那个公司在一些负载不高的情况下用的的确是Python,我也写过。(因为写的真的快)但是底层架构的话还是C++和Java。因为设备还是贵。
后端的话,如果出现高并发、高负载啥的,Python的确有点指望不上……
我以后的选择还是用的人多、更新频繁、后面的金主爸爸有钱的技术。这些技术活得久。
我为啥学java呢?单纯为了钱嘛。
Java的底层是C++,也就是在C++加了一些东西(JVM啊,GC啊),减去了一些东西(指针)。
可是Java是没有指针的,有引用。
这个就很操蛋了:引用用的是指针实现,你又不让用指针,新手会懵逼的。
我是这么过来的:
去看Spring,看不懂注解和反射。他们说:要看的懂Spring,就要看得懂反射。
去看反射,XX的也看不懂。他们说:要看得懂JVM,才能看的懂反射
去看JVM,就要谈堆栈,要看的懂堆栈,就要看的懂引用。
可是引用是指针实现的。
倒过来一理,通了。
指针引用 --》 JVM的堆栈 + 类 --》反射 --> Spring或者mybatis
大多数的人直接上手就是框架,直接傻了。然后大喊一声:好难啊,当场退役去看go和python了。
很多人都是调包侠,直接百度一下包直接用的那种,像这种学完A才能理解B的东西(而且嵌套那么多层)的确有点……劝退人。
第二个是:底层都是很抽象的东西,类啊、指针啊、gc啊、堆栈啊,很多人不学。
Java的确很啰嗦。代码量的确很高。真的写起来不如Python快而且爽。
这个没有办法。
但是我考虑的话:Python的岗位的确不多,学了还得再学一门别的语言。
IT真的不是急功近利的人能学的,来钱快的还是搞销售比较好。
工作的话,尽量大厂。至于如何去百度阿里,我不知道……因为我也没进去……
之前工作的公司,一个几十人,一个5000左右一个2000,一个被辞退,一个干了1年多,一个3天。
个人评价:十几人的有十几人的不正规法,几千人的有几千人的不正规法。
先说最重要的一点:大多都的小微企业要求的是不培训就能干活的人。
入职的时候说自己有工作建议项目经验,包装的漂漂亮亮的。
领导信了。给你一台电脑、一份源代码、一份需求书就开始写代码。
遇见不懂的,自己去问同事自己百度,你拿着工资呢。(点名批评易诚互动)
要文档?如果交接的不及时那么不会有文档。
要培训?我们都是直接上手干,遇见不会的直接csdn百度谷歌。
要大佬?我们项目组就这么几个人,去问啊。
要测试?你自己写的自己测不行吗?
要维护?你自己的系统自己不能维护吗?
这些企业通常的要求是:3-5年工作经验。也就是:我不会给你培训的意思。你自己做过项目,摸着石头来呗。
很多人去了小微企业以后,懵逼的很:我工作压力很大!!!我什么都不会!!!赶紧微信问大佬:咋办?
谁也没办法啊……
有这么几点:
我的建议的话:
能去大厂去大厂,蹭一下带薪培训啥的
老老实实去实习,多问核心技术和源代码、业务逻辑,别直接装3年工作经验……
如果学历还可以带薪刷刷题(我就是这样的……老摸鱼了),等到有工作经验再去。
尽量不要去这种公司,去了尽量早跳。
单独把计费项目列出来,是因为我工作的时候深受其害。
甲方天天挑刺,乙方天天挑刺
因为涉及钱财的东西,甲方乙方都很重视。
由于系统重要,所以故障率居高不下,各种投诉层出不穷。
明明是正规流程,用户舔着长脸来投诉,说扣多了扣少了不合理。或者用户撒谎。等着业务逻辑复杂起来,用户态度一般比较恶劣。
一般工作有限时,就是越快越好。故障不排除天天加班熬夜。
有的企业不让去外网
出现bug加班熬夜必须立刻修好
这些计费项目一般不挣钱。
大多数的维护和测试基本上就是在写sql,基本碰不到代码。底层的开发和一些老架构的系统基本也在写sql。
雇一个实习生,就是来打杂的,基本上写不了代码。比如说:做个报表啊、汇个总、执行个sql、打印个文件啊、做个PPT,给你个postman让你去查一下报文啊、处理下邮件这种。动手不动脑。
就这么说:
让你动开发库或者让你写生产业务源代码?让你写你真的写的了吗?你能写人家敢用吗?
搞个springBoot熔断,大多数人也就过一遍理解下意思就行了,人家没有开发让你去写啊?
真的没有太高的技术要求。
普通的中厂去的话不用刷题,练一下sql就行(你说去IT独角兽企业或者等过了实习直接转正的除外)
第二个要求的话:长期。
一个211的本科过来干1个月,一个二本的要实习6个月。那肯定要第二个。
为啥呢?因为留不住。
实习的坏处
所以大多数情况下就是实习1-3个月。
所以实习的时候,就这么说:我准备实习6个月。(至于能不能,入职以后再说,懂?)
简历这么写:
啥学历,是二本还是一本,是否科班
熟练使用mysql、oracle。
会使用Java
能实习多久(6个月)
其余的你想写啥就写啥,只要不减分就行。
很久之前,我网上看了几个简历,直接无语了:
有人说了:你说啥呢,现在不是微服务嘛、分布式嘛。
哪有,每天往数据库插入1000W条数据,用啥分布式服务?我们之前工作的公司到现在还用的单机数据库呢。
我又不是面试官,我就实话实说:刚毕业的,80%以上连个代码都写不出来。面试之前刷完top100都不错了
简历里面全是
按照网上的说法,我觉得那就是面试官脑子有问题。
维护和测试的歧视是真实存在的,因为维护和测试碰不到源代码。
有的工作是这样的:天天忙、天天忙,工作好几年一行代码写不出,增删改查都搞不定或者只会增删改查。
你说出自己有过维护经验,那基本上就定性了:你不会写代码!!!!
我之前维护,到现在面试死活不承认自己维护过。
你可以说
这都可以。
千万不要说自己单测试或者单维护!
在维护里面挑人才,那是沙里淘金,而在开发里面挑开发,那是金子里面洗沙子。