一、机械行业如何与互联网结合?
方法很多,最简单一点,把资料放到网上去。如米思米这样,资料较齐备。网上能完成选型和报价。
反观多数国内企业,网上除了联系方式真是啥都没有。多放几个尺寸及模型不行吗?一点技术交流非得派些不懂技术的销售跑来面谈,本来就薄的一点毛利全折腾在营销费用出差费用上
二、机械行业转行互联网行业是一种什么体验?
91年,机械专业的汉子,转行后一个人在北京漂着,一万多的收入自然买不起房。但是觉得现在这样的生活状态对我来说很宝贵,依然愿意为了更好的生活去努力。
大学学的机械,现在在一家互联网公司工作,是一枚电商运营。
放弃专业时候还是很难做决定的,因为放弃了也不知道能做什么,本专业不想做,别的也不会,那段时间极其焦虑,一天天去网上搜什么行业发展比较好,哪个行业有前途。结果运气不佳进了传销,倒没有像传言那样被打,只是被收了手机身份证,有年轻人看着我不让出去,我称病去医院的时候,要了自己身份证,在半路跑了。
后来沉下心来,认真选择行业,截掉焦虑和浮躁。和知乎上广大网友一样,360行,行行都转互联网了。
现在的公司,真的很互联网氛围。同事都很优秀,多是985、211大学毕业的,甚至还有一些是硕士学历,身处在这样的环境中,专科学历难免还会有一点点自卑,感觉比别人学历差很多,压力也还是有的,所以自己的学习也从来不敢停下,会不停的去看书,学习,回到家会继续学习到十一点多,竟然神奇的治好了我的失眠。
虽然很努力的在追赶了,但是毕竟是转行,刚入职时候工作经常出问题,心里还是比较愧疚的,不过同事们人都很好,愿意花时间教我,现在不再拖大家后腿,算是学习小有所成。
持续的高强度工作学习,换来的快速的进步、薪水的上涨。
偶尔也会在早上惊醒,惦记着今天的工作,穿好衣服想起来今天周末,所有的光鲜的背后对应的都是持续的煎熬和付出。
前段时间整理房间,发现买的书都已经攒满了一个书架了,一直觉得本身起点比别人低,就要花更多的时间去弥补;
脑子没别人聪明,就要花更多的精力去追,上学时候没明白的道理,现实会用更粗暴的方式让人明白,唯一的安慰就是还好是年少无知,不是年老无知。
为了让自己的学习更高效一些,特地的把书桌收拾的很干净,每天都会整理下书桌,觉得有一个舒服的环境,学习的时候才能更愿意专注,既然学习是逃不掉的,索性就让自己学习的更舒服一些。
书桌是自如的房子自带的,租这个房子也一部分因为喜欢这个书桌,这样做的好处是,哪怕回家很累了,看到书桌很整洁,看起来心情也是愉悦的,可以坐在书桌的椅子上摊着休息一下。
平时工作虽然辛苦,但是有空的时候还是会做饭,因为做饭是时候才真正感觉到自己在生活,工作忙很多时候将就着吃外卖,可是不想让自己生活变成将就的生活,总得在枯燥无聊的中找到一些乐趣。
生活最沉重的负担不是生活,而是无聊,有趣的人也许并不是全都做着有趣的事情,而是能把自己在做的事情变的有趣吧,也正在努力让自己变成一个能把无聊的事情变的有趣的人。
现在的工资在北京能解决温饱,但是靠这个工资在北京买房是不太现实的,可是买不起房又怎样?生活的意义又不仅仅是买房,明天太阳依然会照常升起,以后的事情就交给以后去吧,认真把今天的日子过好,能问心无愧就好了。
很多朋友问我,你就打算这样一直漂着,不准备回家吗。
不回。
在一个连买台电脑都要找熟人的八线城市,我这种没钱没学历没背景的三无青年,甚至都看不到自己有尊严活着的希望,用知乎上看到的一句话说,北上广是一个可以大声说出你的梦想却不会被人嘲笑的地方。
贫不足羞,可羞是贫而无志。贱不足恶,可恶是贱而无能。老不足叹,可叹是老而虚生。
----------------------------------
ps,我具体如何转行的过程,之前的回答分享过了,此处不赘述了:https://www.zhihu.com/question/20719765/answer/543579717
pps,上面这个回答里分享了我转行途中收集的转行学习资料,有免费的互联网课程、转行简历模板等,放这里不符合问题主题,有需要的去上面的回答里找吧~
三、关于机械行业转互联网行业有没有什么建议。?
建议
1.跨考考研,考计算机类的
2.考机械类研,但是研究方向偏控制,电子之类的,例如机械视觉等
3.本科期间多学学计算机的东西,参加一下这类的比赛,毕业应聘有优势
4.毕业后呢可以进那些培训班,也能学到东西
5.一句话就是想转就转,别犹豫,决定了就要去做,不要懈怠
四、机械行业想转行IT互联网行业,大家有什么好的建议?
360行,行行转码农。现在这个世道,连门口卖煎饼的老大爷都能跟你唠几句C语言。
互联网行业岗位也是非常多的,互联网行业的岗位一般分为3类,产品、技术、运营。
产品方面主要的岗位是产品经理,需要理解传达,实现用户需求
技术方面有设计、开发、测试、运维四个类别。
设计主要涉及的岗位有:UI交互设计、平面设计师、游戏方面的设计、影视频方面的设计
开发主要分为前端和后端
前端分为web端和移动端;后端主要有后端工程师,语言主要有Java、Python、C、C++、PHP等
测试方面就是软件测试工程师
运维方面主要是运维工程师
除了上面提到的之外还有互联网营销师,具体岗位有新媒体运营、电商运营、搜索引擎优化师、搜索引擎竞价师等
这些都是你可以选择的学习方向,建议你先详细了解一下各岗位,然后选择一个自己最感兴趣的技能,再投入去学习就行!另外可以搜一下中公优就业。
五、机械行业证书?
机械专业可以考以下证书:
1 .申请认证机械工程师
申请人须有良好的职业行为,遵守道德规范,并提供以下有效文件:
( 1 )大学毕业证书;
( 2 )外语证书;
( 3 )计算机证书;
( 4 )机械工程师“综合素质与技能”考试合格证书;
( 5 )参加中国机械工程学会颁布的《机械工程类专业技术人员继续教育科目指南》中所规定的一门课程的培训并取得合格证书;
( 6 )实际工作经历,专科毕业四年以上(非机械类需六年),本科毕业三年以上(非机械类需五年),同等学历者十五年以上,申请人必须有一年以上在生产、科研企业工作经历,并提供工作总结报告(由本人岗位上级写出工作业绩评语并需经单位领导签署意见及公章证明)。
2 .申请认证专业工程师
除满足申请机械工程师认证条件外,需要取得专业工程师资格考试合格证书并有两年以上相关专业工作实践。
六、机械行业特点?
活比较脏累,需要耗费体力,不适合女生干
七、机械行业前景?
机械专业做为大学里最早出现的几个工科专业之一,在短期内也是不会消失的专业。因为机械是制造业的基础,上到航天飞机,下到深海潜艇,大到航空母舰,小到芯片元件,没有什么东西可以离开机械。如果你搜一下招聘网站,招机械工程师的,招有机械专业背景的职位的,这些需求还是非常多的。
我本人学的也是机械设计制造及其自动化,自毕业至今我在石油、电子、航空行业都工作过。而且我的同学们目前也不都是在机械行业。所以你没必要被你的专业限制住,而是先要看你自己给自己未来的规划是什么样的,你是想走技术路线,想从政,还是想经商,或者做管理?
八、机械行业想转行IT互联网行业,大家有什么好的建议?
目录
- 一 自我介绍、转码原因
- 二 踩坑历程、学习路线、经验分享
- 三 面经
- 四 总结
一、前言
1.1 自我介绍
大家好,我是CandyDing,985机械硕士转码( 后端开发 ),22届校招拿到快手、度小满、新浪、东方财富、用友的offer,喜欢Java、Python、算法,前端JS、VUE也能玩,转码一路不易,总是被身边的琐事烦扰,曾受尽冷眼和嘲讽,也曾被面试和算法折磨到头痛欲裂,历经磨难两载,终于涅槃上岸,经常有机械的师弟向我请教学习路线,因此在这里分享一下自己的学习心得、面试经验、学习笔记,希望能帮助到有缘人吧。
1.2 转码原因
转码的原因大概有两点:
1 机械行业的薪资水平不高,而且研究所以及一些好的单位比较看重第一学历,专业对口的公司都是些重工类企业,加班不比互联网少多少,互联网加班996经常上微博头条,熟不知很多传统行业加班也是996,猝死的也是不少只是没爆出来罢了,当前中国这种环境就是这样,没办法。所以与机械相比,我更喜欢 早上10点走进市中心公司大楼,端一杯咖啡,打开电脑写自己的代码这种都市生活。我院机械薪资待遇见下面这篇我写的回答我校19级 机械工程应届生薪资待遇2 对机械行业不感兴趣,不是我没好好学本专业,在本专业我也拿过国家励志奖学金,本科阶段也曾是年级头部,但是学的越好也会发现该专业所学的东西并不是我所喜欢的,我想象中的机械专业应该是造智能机器人、飞机、火箭等,大家毕了业应该能设计一些智能小车、智能机器人之类,但是当我学到大四我才发现,这个专业都是在搞一些制造相关的东西(也可能我是传统方向),大家都研究零件怎么加工,机床怎么设计,以及某个结构怎么设计,都是一些静态的,距离我想象中的“智能”还差的很远,并且做出来的东西比较虚,就比如我们课设做的减速器只能停留在我的电脑上以及图纸上,无法变成一个实际存在的东西(加工起来也是需要花费很多钱的),并且这些东西做出来也离我的生活很远,反观计算机这边就不一样了,大家搞人工智能、人脸识别、路径规划、NLP以及推荐算法,甚至可以自己写游戏,工具以及网站,这些都是实实在在能用到的并且能影响我们的生活的,实践和学习成本比较低,一台电脑足以,这是我转码的第二个原因。于是基于以上两个原因,在我研究生未入学阶段就下定决心要转码了,转码的心酸历程请接着往下看。
二、学习路线
2.1 转码历程(踩坑历程)
2.1.1 未入学阶段
还没入学的时候,我对IT行业还没有个大致的认识,只知道是写代码的,听说学C以后学其他语言比较容易,于是买来了一本谭浩强的C语言,准备在家的时候开始学习,结果我高估了自己,哈哈哈,暑假摆烂,结果就是这本书就看了前几章。
2.1.2 研一阶段
当时我们导师这边没有人转码,并且我也不认识转码成功的师兄,身边也没有认识的能帮上我的同学,所以转码对我来说是雾蒙蒙的一片,全部都要自己摸索,可能会走错路,后面确实走了很多弯路。 研究生入学第一件事就是选课,(当时我还试图想通过蹭计算机的课来达到转行的目的,现在看来真是年轻),我们学院有很多课是跟计算机相关的,可以冲学分,所以当时我选了四门 人工智能、分布式数据库系统、数字图像处理、计算机图形学,希望学习这几门掌握一些技能或者认识一些别的专业的学生,请教一下他们怎么学习。结果就是:
1 人工智能老师讲了五节课就不讲了,啥也没学到一头雾水,最后交了个图像去雾算法的大作业,这门算过了
2 分布式数据库系统这门课 老师默认我们已经学过数据系统概论这本书了,所以讲课速度很快,一些名词我都没听说过,什么DDMS,科班同学听的有劲,我仿佛听天书,课下我自己自学了数据库这门课,写了点简单的SQL语句,才听懂这门课讲啥,最后背了背题,最后期末考试过了。
3 数字图像处理老师全程英文授课,没几个人能听懂的,最后和其他小伙伴交了一个目标检测的大作业算过了
4 计算机图形学,这门课是疫情在家上的,是机械学院的老师给上的,都是一些简单的算法,学起来还算可以,最后交一个论文过了。
总结下来就是没学到什么东西,课程难度比较大,还拉低了学分,一度让我放弃了奖学金这个念头
研一干的第二件事就是学Java,之前也是在Java、C++、python中犹豫了很久,最后因为我导师这边她会Java,所以选择学习Java。刚开始不知道怎么学习,就买了一本《Java从入门到精通》开始看不得不说这本书真是“好”,很多业界不用的东西他上面还有(就是AWT,这个东西我学了好久,最后发现没用),而且很多东西讲的太粗糙,只是教API怎么用,就不适合深入学习,我居然还抱着啃了一学期。 接着就放寒假在家了,然后疫情,研一下半学期也耽误了。这大概就是我的研一吧。
总结:学习资料选错了,选课也选错了,学习方法也不对,疫情也耽误了我半年,失去了奖学金竞争资格,也浪费了很多宝贵的时间。
2.1.3 研二阶段
等到能再次返校就到了研一暑假,刚开学见了老师,问我数据挖掘学到咋样了(寒假回家前老师让我学大数据相关、数据挖掘),吓我一跳,于是马上网上买了两本书《Python编程从入门到实践》、《从零开始学Python 数据分析与挖掘》,数据挖掘里面的所有机器学习算法我都手推过一遍,所以这两本书我学到很慢,大概花了两个月时间,结果就是当我学好python和数据挖掘后我问老师我该怎么搞科研,我导也没给我说个很明白,我也是一头雾水,就是感觉这两个月时间浪费了,后面在科研上面我开始摆烂。
研一暑假期间我也是意识到了研一学到那本书不行,于是我买了一本《疯狂Java讲义 第4版》,这本书一千多页,硬是啃完,每天看个五六十页,发现看完之后我的水平好像没有提升,主要原因我光看不动手,学编程和应对期末考试还是不一样的,对付期末考试背背概念和重点,一些练习题多写几遍就能拿个八九十分,但是学编程必须勤动手。真是心态炸裂,感觉时间都浪费了,当时我们学校传出有同学上吊自杀的,我当时也是一度差点抑郁。
后来一个偶然的机会,我和以前电信学院的同学说上话了(我们当时在一个英语小组),刚好聊到我在学Java,正好她也在学Java,然后我就知道了一些培训班的学习路线,一看真吓一跳,要学这么多东西呢。然后就是陷入焦虑紧张的赶进度状态,要学的东西太多了,我以为学一个Java就能就业了,实际上学一个Java离能就业的程度不到 1/10。
然后就开始根据路线学习,我又学了一遍Java,那个路线 Java基础-->Java高级-->MySQL基础-->JDBC-->HTML-->CSS-->JavaScript-->Spring5-->MyBatis-->MySQL高级-->SpringBoot-->Java并发编程-->Redis-->JVM虚拟机-->Java设计模式-->Linux-->Zookeeper-->Rocket MQ-->SpringCloud-->Git-->maven(大致是这个 ,具体顺序可能有出入),我又按照他这个路线都学了一遍(学习时间早上8点到晚上10点,火力全开),期间老师的编程demo我也会敲一遍。然后做了两个练习项目《学生选课系统》《调查问卷系统》,自信满满以为能去找实习了,结果被腾讯打脸,他们都喜欢问原理的问题,一些底层的东西,这是这些辅导班视频没有的,辅导班只是教这个东西怎么用,一些源码需要自己去看。而且我当时没有学计算机网络、操作系统和算法。于是自己根据面经的问题,自己点开源码去看底层实现,看不懂就上网上找找其他人怎么分析这个源码。期间还做了几个别的项目 自己实现的简单秒杀、博客网站。
同时开始刷题以及学习计算机网络和操作系统,当时不知道刷什么题,有个Labladong的公众号,当时把那上面的题刷了一遍,剑指Offer刷了一遍(第一次刷题真是酸爽,一度几近崩溃,算法题真是实现代科举,痛不欲生 !)。计算机网络买了本本科生的教材《计算机网络》,配上B站上方老师的课学了一遍(不建议这么学,比较浪费时间,这里我走了很多弯路),操作系统也是买了本科生教材,《计算机操作系统 第4版》,把书啃了一遍(不建议硬啃,需要挑重点来看)。
买过的和看过的其他的书还有:
《深入理解Java虚拟机 JVM高级特性与最佳实践》、《图解TCP/IP》、《图解HTTP》、《深入理解计算机操作系统》、《大型网站技术架构--核心原理与案例分析》、《数据结构高分笔记》王道考研、《计算机网络高分笔记》王道考研、《Linux鸟哥私房菜》、《算法 导论 第4版》、西瓜书《机器学习 》周志华著、花书《Deep Learning》伊恩 古德费洛著、《SQL从入门到精通(微课视频版)》、《统计学习方法 第二版 》李航著、《数据库系统概论 第五版 》王珊著、《算法与数据结构(Java语言描述)》陈媛著、《PyQT5 快速开发与实战》(当时听室友说他们师兄用这个 我也买来学了学)
这些书有的我全本看完,有的也是拿过来当作字典用,需要相关的知识就翻出来仔细看看,不得不说有的书写的真好,读个十几遍都不嫌多。
这时候老师让写一本书(3月-8月),因为这个耽误了我好长时间,错过了提前批,什么都没准备好秋招就结束了,当时真是心态炸裂。秋招我准备好的时候就快结束了,加上我的项目太简单,刷算法时间不够,面经也没准备好(不知道去哪里背面经),所以秋招下来只拿到了四个offer,新浪、度小满、东方财富、用友。
总结:1 找后端工作没必要把时间浪费在前端上,做项目时,我所有前端的js都是我自己一个个手敲上去的,一些DOM操作我还做了笔记。 2 算法刷题没刷到重点,我后来才知道大家都刷LeetCode 高频题,前100或者200,我只刷了一遍Labuldong,剑指刷了一遍。感觉还是不太够。3 面经没找到重点,我的面经都是自己总结的,很多答案都是自己上网上找,所以很多答案都是错误的或者不全或者不深入,导致面试的时候我自认为答对了,其实答错了,这是最致命的,想想自己辛辛苦苦背的八股文都是错的就心酸,晚上神经紧绷无法入睡,秋招那几天曾一度只能靠褪黑素入眠。 4 项目太简单,我看别人的项目都是抄一个分布式的项目,我自己的项目还是那种老掉牙的管理系统,并且技术也不行 5 错过了提前批,提前批开启时我在中期答辩以及写老师的书。 因此因为 准备时间不充分,时间花在了前端上,准备的项目太简单,准备的八股都是错误的,刷的算法题没刷到高频题,所以秋招完败!如果当时有个前辈能指我一条明路就好了,真不是我不努力,我只是方法不对,没有途径。
2.1.4 研三阶段
秋招结束,我也进入到了研三,这时感觉天都塌了,自己规划了这么久,这个结果真是很难受,我曾无数次梦见我进大厂,醒来却发现是梦。加上这时候导师催我搞毕业的东西,写的那本书还要修改,真的是腹背受敌,那段时光真是人生至暗时光。
在面试携程的时候,我记得一面面试官曾经提醒过我,建议我去慕课网上找一个大几千的课,好好学一学,别去B站,B站上的课质量很低,所以11月份我再次打起精神,为春招冲刺做最后的准备,这里非常感谢携程那个面试官(面试前特地问了我家是不是新乡的,我说是,可能他和我是老乡,他想拉我一把,最后他还是让我过了,并且过了十几天才携程2面,应该是给我留缓冲时间,可惜我当时没把这句话放心里面去,携程2面 项目上把我挂了),有的时候就是别人的一句话就能少走很多弯路。
于是我打开慕课网,选了一个秒杀课,详细的做了做。从前台到后台、到数据库,买服务器,压测,nginx 、tomcat 、令牌桶、泄洪、消息队列等一系列走下来,确实感觉自己学到了很多有用的东西。做完之后感觉还差点分布式,于是找了一个基于Spring Cloud的广告项目做了一下,这时感觉项目没问题了。
接下来就是准备毕业的东西了,期间也是看了大量的论文,最主要也是最难的是要明确自己论文 是为了解决什么难题,我这里比较幸运,老师给我提出的问题是补全数据,并且开发一个LCA计算平台,这刚好是我当前技术栈以及当前所学习的算法完全能cover的,之后老师说我的难度不够我又加了一个NLP相关的问答机器人上去(去慕课网上看了很多NLP实战的课程以及看了很多NLP的论文,用Java代码实现了一下)。所以整个计算平台的开发 我一共只花了15天,后续功能改进也花了几天,整个毕业的东西(平台开发(前台 后台 数据库 发布上线)、算法调研、加上写大小论文)差不多一个半月搞定(写论文是寒假在家,每天的作息依旧是9点-22点,最晚的时候9点-凌晨2点)。之前学的JS、BootStrap都没白学,写前台的时候用上了,这个网站用了很多智能算法都是Java实现的,比如手写神经网络等。最终统计代码量46000行。同时该项目也可以作为我春招找工作的砝码。至此项目没问题了(选课系统、调查问卷系统、秒杀系统、博客网站、广告系统、LCA计算平台)。
接着就到寒假了,寒假期间知道了应该刷哪些算法了,于是刷了牛客TOP101的题,寒假刷了两遍(你体会过大年三十刷算法到晚上12点的滋味吗?),开学刷了一遍,面试前刷了两遍,剑指offer之前刷过三遍,所以春招之时我的算法情况是 TOP101 刷了5遍,剑指offer 刷了3遍。算法这块OK了。
之前知道JavaGuild,只是没注意,寒假静下心来看JavaGuild写的东西,确实写的挺好的,于是寒假在家我把JavaGuild背了一遍,到面试之前,每面一次我就背一遍。所以春招下来JavaGuild我至少背了3遍,面经这块没问题了。
2月28号我正式开始投递简历,所有能投的都投了一遍(字节、阿里、美团、快手、贝壳、携程、蔚来、虾皮、B站、米哈游、滴滴、腾讯、京东、小米、oppo、腾讯云),结果只有字节、美团、快手有消息,不得不说今年春招是真的惨,堪称地狱级难度(要么锁HC、要么没有春招、要么卡双9学历 ),字节没看清题结果笔试就没过,剩下只有美团、快手约面,面试全程几乎没有不会的,算法题直接秒杀,项目问题回答行云流水,快手顺利拿下offer,美团卡在了主管面,到了主管面我才知道我的简历都没改过来,一面、二面拿到的简历都是我秋招投递的老简历,我面试过程中讲的项目那个简历上都没有,但是还是让我过了,可能到主管了比较多疑,同时我也对美团打车不了解,有个致命问题回答错了,主管问我用过美团打车没,我说没有(场面一度很尴尬),后面他给我出了两个计算机图形学的算法,(对! 就不是普通算法,就open cv中写好的那种函数库,他让我说这个算法思路 ),但是我还是凭借我强大的数学能力以及逻辑思维能力给出了思路(题目是:1. 求10000个点的最大外接矩形 ,2. 10000个点的最大外接圆),尽管如此最后主管还是把我挂了,所以我感觉美团能过,只是我简历没投过去并且不了解这个部门(一面说的地图部门,谁知道地图就是打车?我还以为是外卖员送外卖的那个地图)。因此我的春招就结束了,快手和美团都是一周走完流程。至此转码之路走至终点,我如愿以偿进入了自己满意的公司。
3月25号接到快手offer那一刻我感觉有一束光照在了我身上。经历过如此种种,如果一开始就有人带我,告诉我怎么学,学什么,我应该不会这么狼狈吧,也不会走那么多弯路,感谢没有被困难打倒的自己坚持了过来,我相信天道酬勤,我相信世上无难事,只怕有心人。
2.2 学习路线
作为过来人,如果你是非科班想要转码的话,这是我列出来的学习路线,希望能帮到有需要的人。
2.2.1 Java部分
学了以下部分你只是刚入门,一些原理性的东西视频讲的不深,还需要补充
1 Java :宋红康老师Java700集 https://www.bilibili.com/video/BV1Qb411g7cz?spm_id_from=333.337.search-card.all.click 2 MySQL基础+高级:尚硅谷350集 https://www.bilibili.com/video/BV12b411K7Zu?spm_id_from=333.337.search-card.all.click 3 Java web:325 集https://www.bilibili.com/video/BV1Y7411K7zz 4 Spring5:62集 https://www.bilibili.com/video/BV1Vf4y127N5 5 MyBatis:66集 https://www.bilibili.com/video/BV1VP4y1c7j7 6 Spring Boot:87集 https://www.bilibili.com/video/BV19K4y1L7MT 7 maven:173集 https://www.bilibili.com/video/BV12q4y147e4 8 Git: 狂神的14集 https://www.bilibili.com/video/BV1FE411P7B3?spm_id_from=333.337.search-card.all.click 9 JVM:宋红康 381集 https://www.bilibili.com/video/BV1PJ411n7xZ 10 Java并发编程:尚硅谷 JUC43集 https://www.bilibili.com/video/BV1Kw411Z7dF 11 Redis:狂神36集 https://www.bilibili.com/video/BV1S54y1R7SB?spm_id_from=333.337.search-card.all.click 12 Spring Cloud :阳哥150集 https://www.bilibili.com/video/BV18E411x7eT 13 数据结构与算法: 尚硅谷194集 https://www.bilibili.com/video/BV1E4411H73v?spm_id_from=333.337.search-card.all.click
2.2.2 书籍推荐
1 计算机网络《图解TCP/IP》 《图解HTTP》,结合这面经来看 2 操作系统《深入理解现代操作系统》 ,同样结合着面经来看 3 数据结构与算法 《算法导论》 第4版,配合着视频来看,有不懂的来这本书上找 4 JVM 《深入理解Java虚拟机 JVM高级特性与最佳实践》,结合着JVM的视频补充着来看 5 Java并发编程 《Java并发编程的艺术》结合这视频相互补充来看 6 Java 设计模式 《大话设计模式》 ,关注常用的那几种就行,单例、代理、观察者、模板方法、适配器、工厂 7 MySQL数据库 《Inndb 技术内幕》,和面经补充这来看 8 Redis 《Redis设计与实现》
2.2.3 算法
算法题建议直接刷 牛客TOP101,如果有时间可以刷LeetCode 前100,200,300,400,看个人时间,剑指Offer建议刷一遍。最后算法题不再于刷的多少,在于是否掌握并举一反三,最少刷个两遍吧,做到刷过的题10分钟内内准确无误的写出来。
2.2.4 面经
1 背诵JavaGuild:https://javaguide.cn/java/basis/java-basic-questions-01.html#%E5%9F%BA%E7%A1%80%E6%A6%82%E5%BF%B5%E4%B8%8E%E5%B8%B8%E8%AF%86
2 注意牛客网上别人的面经分享,那个面经是最新的,也要自己总结下答案
2.2.5 项目
建议去慕课网上找一个中等难度的项目,然后吃透一个就行了,里面如果涉及到其他技术的话就去学习并弄懂,所有细节不要放过。推荐 秒杀和广告,这两个有难度并且也比较热门。
最好自己确确实实写了一个项目,自己给自己提需求,改进一个功能等。
2.2.6 简历
简历的话简洁一些就好,我当时的简历如下,可以参考我的简历来写,写清楚项目的难点,效果,你做了什么,什么技术栈
三、快手面经
3.1 快手一面 基础面
1 自我介绍+项目介绍 1.1 你是怎么来一步步设计系统的 1.2 系统都包含哪些模块 1.3 怎么来实现减碳目标的 1.4 如何计算出一个机电产品的绿色度 1.5 你在其中遇到过什么问题,如何解决这个问题,达到了什么效果 1.6 为什么零件树结构需要先从叶子结点开始计算?不能只计算自身结点吗 1.7 为什么选择转行 1.8 看过哪些技术书籍 2 java中的集合有哪些?他们都各有什么特点?
3 java中线程安全的数据结构有哪些?
4 synchronized的锁升级过程? (synchronized在jdk1.8 优化了什么,如何从偏向锁升级为重量锁的,加锁解锁过程详细讲一下)
5 synchronized和reentrantlock的有什么区别?
6 synchronized的底层原理?讲一下如何避免加锁?
7 hashmap的put元素的过程?hashmap底层数据结构是什么?如何解决哈希冲突的?
8 volitail 的作用是什么?
9 volitail 如何保证可见性?
10 volitail 怎么禁止指令重排序?volitail实现读取主内存数据的具体过程?
11 JVM中的垃圾回收器有哪些?都采用的什么垃圾回收算法?
12 cms垃圾回收器的回收过程?
13 cms垃圾回收器有什么缺点?
14 g1垃圾回收器讲一讲?
15 g1是回收哪里的,采用的什么垃圾回收算法,有什么特点?
16 解释下什么是局部性原理?
17 虚拟内存是什么?有什么作用?
18 虚拟内存是如何来进行内存管理?
19 操作系统中进程与线程的区别?
20 线程切换讲一下?
21 进程如何切换?(黑人问号??这里不会)
22 TCP三次握手的详细过程?
23TCP四次挥手的详细过程?
24 为什么是四次挥手而不是三次?
25 TCP如何保证可靠传输?
26 IO讲一下(NIO BIO AIO) ?
27 select poll epoll讲一下?
28 数据库索引讲一下?
29 innodb和myIsam存储引擎的非聚簇索引有什么区别?
30 最左前缀法则讲一下?
31 为什么会索引失效?
32 什么时候会触发老年代垃圾回收?
33 full gc的时机?
34 为什么会full gc ?
35 说两个引起full gc的场景? (说了内存泄漏和超大对象直接老年代分配,面试官补充:这种场景一般发生在sql查询了超量数据所导致的超大对象直接在老年代分配,进而引起堆空间不足,触发full gc)
36 数据库事务的隔离级别有哪些?
37 解决了什么问题?
38 事务的四大特性A C I D都是如何保证的?
39 spring cloud用过吗?
40 kafka消息可靠性是如何保证的?
41 消息队列的作用是什么?为什么要使用消息队列?
42 为什么要有微服务?
43 linux用过吗?有用过linux发布过项目吗? (这里讲了我linux服务器挖矿病毒排查以及数据库被入侵的故事)
44 如何根据进程名字查出来pid,并杀死该进程?这条linux指令怎么写? ps -ef | grep '进程名' //找出来进程号 kill -9 pid //杀死进程
45 看你项目里用了神经网络,神经网络的输入、输出是什么,是用来干什么的?
46 算法的准确度是多少?如何确定神经网络的参数的?
47 bean对象加载的生命周期讲一下?
48 spring实现自动装配过程?
49 spring用到了哪些设计模式讲一下?
50 spring 的ioc和aop讲一下?
51 aop实现的原理?什么时候使用aop这个功能?
52 jdk动态代理和cglib动态代理的区别?
53 静态代理和动态代理的区别讲一下?
54 B+树索引的原理和结构讲一些?
55 算法题 白板手撕,代码环境没有任何提示,最后看你调试的次数 第k个最大数 要求 时间复杂度O(nlog(n)) 空间复杂度O(1) (让写了两种解法:1 优先队列解法 2 快速排序解法 直接秒了)
56 能不能手写一个优先队列?
57 堆这种数据结构的插入和删除的过程?
58 快速排序算法的时间复杂度?
59 推送式的消息队列有哪些?拉取式的消息队列有哪些?
60 反问环节 1 团队规模多大 2 团队的氛围怎么样,从技术和生活两个方面回答
3.2 快手二面 项目面
说一面面试官问的太全了,二面就不问基础知识了
1 秒杀是怎么做的,讲一下流程? (讲了大约10分钟 从nginx 到 tomcat 再到 秒杀大闸、令牌桶、队列泄洪、消息队列都讲了一下)
2 如何解决超卖问题,超卖问题为什么会产生?
3 先删缓存再扣数据库库存,如何保证第二步不会失败?
4 你的QPS 和 TPS优化前后的数据都是怎样的?
5 我们公司系统的QPS上限100万,现在需要应对QPS 200万的场景应该怎么做?
6 除了用降级、熔断、限流,还有没有其他方法? (讲了负载均衡 、水平扩展、验证码手动错峰 以及 消息队列削峰)
7 你还用了Guava cache,这个cache的底层实现源码看过吗?
8 如果你来实现一个Guava cache,你应该怎么设计?
9 redis的内存淘汰策略讲一下?
10 redis如何实现判断key过期,用了什么数据结构?
11 讲一讲你另一个减碳的项目吧 (讲了大约25分钟)
12 算法题 LRU缓存淘汰 白板手撕 (写了很多遍了 直接秒了)
13 反问 1 团队目前最大的难题是什么?除了秒杀,还有什么很难的业务? 2 我问了一些我对业务方案的困惑 (高密度cpu计算+数据库查询的混合任务)到底算IO密集型还是cpu密集型,线程池参数应该怎么调 3 如何实现前端提示异步任务计算结束的功能 我提出的是方案是 长轮询 面试官说 长轮询是一种方案 让我回去看一下另一种解决思路,长连接
3.3 快手三面 主管面
1 你觉得你前两面回答的怎么样?
2 你是怎么学习的?有没有系统的学过计算机的知识体系?
3 B站上都看了哪些教学视频? 尚硅谷
4 你觉的他们讲的怎么样? 我说他们讲的不深入,光靠看他们的视频进大厂远远不够,需要自己再学一些东西
5 学Java用了多少天? 我说20天,因为以前都看过书,所以2倍速直接刷过去
6 一共几集? 700集
7 每集多久? 10到20分钟
8 再考你一个,Treemap 和TreeSet底层数据结构是什么? 回答红黑树
9 mysql索引是什么数据结构? 回答B+树
10 为什么Mysql不用红黑树做索引?反过来为什么Treemap 不用B+树作为他的底层数据结构 这里我分析两种数据结构的优缺点,树的层数变高 、范围查询、 结构调整、 时间复杂度这些 他说不对,我还是想不出来 ,坦白这块儿是我的知识盲区
11 你秋招拿到了什么offer?
12 春招拿到什么offer了?
13 美团地图和快手电商你选哪个?
14 能马上过来吗?
15 反问 快手电商的市场份额排第5名,快手的头号竞争对手是抖音,那么快手电商相对于抖音电商的优势在哪里,劣势在哪里?如何赶超他们?
3.4 快手四面 HR面
1 自我介绍
2 有什么优点
3 有什么缺点
4 你对薪资这块有什么要求
5 你还有哪些offer
6 能过来实习吗?
7 自己的职业规划
8 如何看待快手?
9 你觉得你为什么值这么多钱?
10 你之前有没有遇到过很大的挑战,你是如何克服他的?
11 你有什么兴趣爱好?
12 为什么打算和上家公司违约?
13 如何看待公平
14 为什么没有实习
15 你的导师如何评价你
16 你认为什么是一个好的工程师
17 你是如何学习的
18 你认为一个优秀的人是一个什么样的人?
19 你觉得有自己的优势在哪里
20 没有反问 直接谈薪
四、总结
确实非科班转码有很多困难,难点在于没有人带,不知道学什么,不知道怎么学,不知道去哪里找面经,不知道学习路线,不知道算法怎么刷,不知道去哪里找项目,不知道项目怎么做,不知道哪里是重点、没有人可以讨论遇到的难题、科研所导致的学习时间不够以及周围人的冷眼等等一系列困难。此外作为一个背弃本专业的人,你极有可能遭到他人的排斥,因为你是他们中间的异类,所以这时候需要放平心态,有句话说的好:且视他人之疑目如盏盏鬼火,大胆走你的夜路!并且你要做好自己一个人解决所有问题的准备,因为你碰见的所有困难都没有人可以请教,你只有靠自己才可以,学自己的本专业的课,哪个题不会了回去和室友讨论一下就行了,因为大家都学的这本课,你不会总会有人会,但是转码可是全靠自己一个人解决问题,没有人能请教。同时科研方面,导师也可能会阻碍你的学习进度,这时候需要你有个时间规划,平衡好科研与学习。基本上我在转码学习的过程中就是全年无休,早上9点到晚上10点,一周七天。因为时间确实不够用,此外大脑高速运转,保持精神紧绷的学习状态也很累,身体和心理上双重折磨。最后,最难的就是自己不能轻言放弃,以上我的叙述好像是学习这些东西没有难度一样,实际上难不难谁学谁知道,一个知识点没有人带的情况下,可能需要好几天,甚至看很多资料才能搞明白,Java并发编程,JUC原理,JVM那些底层的东西谁学誰知道,绝对让你痛不欲生,计算机专业课这难度我感觉能排进工科前五,至少和机械专业课比起来难度可是加大了不少,你要是觉得简单,那我估计你的操作系统、计网、数据结构与算法或者计算机组成原理没学好(大佬学啥都满分的除外)。学的好指得是能写出来代码,那些背背概念,复习老师重点的,数据结构和算法拿九十分那不叫学的好,学的好应该是所有算法可以不看书短时间内快速手写实现。最后的最后,如果你是非科班,看完了这些还是决定转码,那么恭喜你能做出来这勇敢的决定你已经超越了大部分人,接下来就是努力学习吧,本着学不死就往死里学的心态,毕竟高考、考研都挺过来了,这又算个啥。
欢迎关注我的CSDN博客上面分享了我的一些学习笔记:CandyDingDing的博客_CSDN博客-NC刷题笔记,Linux,RPC领域博主
九、机械行业和自动化行业该如何与互联网衔接?
机械行业和自动化行业该如何与互联网衔接?我们先看2个来自西门子的案例:
案例1——
第一个案例是西门子给澳柯玛开发的消毒机器人,为了快速响应应对COVID-19的需求,这个项目从点子到成熟样机只用了一个周的时间。
一般而言开发一个包含机械件的新产品需要多轮的“图样设计→机加工打样→修改调整”反复过程,这个周期恐怕至少得几个月之久。为什么时间这么长,除了机加工打样本身所占用的时间,占用时间关键的原因还有:设计出来的东西经过测试后发现某些功能或性能不能满足要求,要反复修改,以臻于成熟。当传统的机械技术融合了IT技术、数字化等新技术之后,就可以把这个过程大大缩短。这个项目用到了Siemens NX等软件作为辅助手段,在设计阶段就验证了产品的材料强度、重心计算、震动影响等,在设计过程中即解决了需要样机试制后才能验证的很多产品参数,使得使用过程中可能的问题被消灭在设计阶段中。传统的机械技术加上了IT技术、数字化等新技术之后,真是有“如虎添翼”的感觉。
案例2——
另外一个例子是机械技术与布局仿真等数字化技术融合的实际案例,这是西门子为济南二机床厂的送料系统进行的设计,采用西门子的Tecnomatix等仿真套件进行布局优化、仿真验证,结合传统的机械设计技术,使整个送料系统的设计和实现环节无缝连接,真正做到了设计上的“所见即所得”。
IT技术、互联网是近30年来科技发展最迅猛的领域,这个大家都能理解。“摩尔定律”就已经揭示了这种情形:集成电路上可容纳的元器件的数目,约每隔18个月便会增加一倍,性能也将提升一倍。而互联网也是作为IT技术发展的产物而被推上风口浪尖,炙手可热。
相比之下,传统的行业诸如机械行业、自动化行业却显得不是很有生机。这大概是提问者发出这样感叹的原因吧。
其实,并不尽然。传统行业可以去拥抱时髦技术改进自身啊!“智能制造”不就是这么回事嘛,传统的制造领域看起来跟新技术没关系,却可以通过拥抱新技术让自己焕发新生机。
细说机械行业——
机械行业拥抱互联网和IT技术?是的,一点都不新鲜。西门子多款软件和平台就能充分证明这一点。不过在直接介绍这些软件和平台之前,为了使视角更广泛,我们不妨从另一个角度——产品生命周期的过程来看机械是如何与互联网、IT技术等进行融合的。
机械技术作为产品设计的一个因素,从产品设计诞生到报废的整个生命周期中,会参与以下产品过程:机械草设和详设、方案验证、打样试制、使用过程监控和迭代修改,等环节。
机械草设和详设
通俗点,就是机械作图。现在的机械设计不同于多年前的一个重要方面是:不再以2维设计图纸为主,而是以3维为主。3维作图除了能更直观地看到零部件之间的干涉以外,也跟互联网更紧密了:现在的设计为了进快出产品并提高稳定性会大量复用之前的模块,这就需要机械设计过程频繁地与PLM等软件的元件库打交道。而且因为3维的设计可以更多地细分设计工作,由多个工程师甚至多个公司之间共同完成某个设计,所以这也使得机械设计过程与互联网分不开。
融合的技术:传统技术(机械技术)+新技术(互联网、PLM套件)。使得设计过程中的工作可以更细分、细分的工作之间在项目整合的过程中紧密地衔接起来,并提高设计的可复用性。
方案验证
传统的机械设计注重完成功能,也就是机械结构能够完成某种功能,尺寸上也符合要求。而现在的产品除了功能还关注性能,也就是稳定性、安全性等方面。产品性能,在软件方面会做异常处理等设计,硬件方面会做EMC电磁兼容加固等,而机械方面需要考虑受力分析、碰撞分析、热力分析等。机械设计的这些验证,需要用到模拟仿真——这也是IT技术与机械设计融合才能完成的工作。
融合的技术:传统技术(机械技术)+新技术(使用Simcenter将系统仿真、3D CAE [Computer Aided Engineering]和测试集于一身)。帮助用户创建数字化双胞胎,使得方案验证阶段就能“设计”减少采用传统手段的使用环节才能发现的问题。
打样试制
传统的机械设计,产品要等加工出来才能进行评测,这种加工过程可能是钣金、机加工等过程,时间周期很长。而现在将机械设计与新技术结合,可以大大缩短这个过程。上述的仿真可以加速这个过程,而打样试制也可以采用目前的3D打印等技术将设计原型的样品尽快拿到。
融合的技术:传统技术(机械技术)+新技术(3D打印)。缩短拿到产品原型的时间,加速产品验证和测评的过程。
使用过程监控和迭代修改
产品使用过程中,机械部件因为机械疲劳等原因会逐渐损坏,传统的手段只能通过肉眼观察、用户报修等过程来获得这些情况。利用传统机械技术与新技术的融合,可以改变这一过程而且应用良好。比如:传感器技术、物联网技术,可以将机械震动数据收集起来,从中发现产品异常。这种异常数据可以被用来做两方面的事:
1)预测性维护,通过从数据中挖掘产品异常的信息,从提供产品转型到为用户提供(产品全生命周期的)服务。
2)通过从数据中挖掘产品异常的信息,改进产品设计。通过“数据收集à改进à仿真模拟à数据再收集”的闭环过程持续优化产品,使产品更有竞争力。
融合的技术:传统技术(机械技术)+新技术(物联网技术、大数据技术)。对于产品而言,通过新技术的使用使产品预测性维护得以实现,产品的数据从设计端延伸到全生命周期都有数据支撑,为优化产品提供了闭环链路。对于企业而言,协助企业从设计或卖产品的业务拓展到提供专业服务,可以成功实现企业向高附加值的领域转型。
自动化行业——
前面说了机械行业在互联网时代的机会,自动化行业也是类似的。从1969年世界上第一台PLC被发明之后,人类就叩开了自动化的大门。如今已经过去了半个多世纪,“自动化”让人感觉都不新了,搞得人人能谈自动化、貌似人人都懂自动化。但其实“自动化”也是与时俱进的。
传统概念,比人干得更快、更好,极大地提高生产力的工业生产线就是“自动化”,比如:冲压线、数控机床;或者是,把人从繁重、危险的工作中解放出来的工业产品就是“自动化”,比如:掘井设备、擦玻璃机器人。
但其实,随着应用场景越来越复杂,研制自动机器替代人类劳动的“自动化”概念已经过时,或者我们应该把它叫做“基础自动化”;当前“自动化”领域研究的是如何运用各种技术工具延伸人的信息感知、分析处理、决策控制和执行优化的功能,来促进能源、材料和环境资源、人力资源等的有效利用,我们可以把它叫做“前沿自动化”。西门子研究院在中国就有5支前沿自动化团队,专注研究最先进的自动化技术。
以下这张图能够更好地说明自动化与互联网、IT技术如何拥抱产生新的价值:
咱们国家常说的“两化”指的是“工业化”和“信息化”,“两化融合”就是这二者之间的融合,达到“工业信息化”的目标。基础自动化的核心是控制,是工业化是否完成的标志;前沿自动化,核心是信息感知、决策控制、系统执行和管理优化,是信息化是否完成的标志,也是知识化的基础。无论是现在提的“两化”还是未来要实现的“知识化”,都离不开自动化技术与互联网技术的参与,只有结合才能完全发力,实现“两化”并迈向“知识化”。
而且,哪怕是传统自动化(基础自动化),也不仅仅指的是装置,集成也是自动化里面的重要组成部分;而自动化集成,天然就与互联网和各种IT技术很“亲密”。
而拓展了传统自动化概念的“前沿自动化”,更倾向于把自动化过程看过一个整体:从信息感知和建模、控制、执行和优化管理策略的整个过程,都是自动化所涉猎的领域;而这些领域中,有大量的互联网和IT技术的共同作用。
其实无论是机械行业还是自动化行业,都可以利用互联网、IT新技术来改造自身。这一改造,从技术层面来讲是专业的跨界和融合;从目的和价值环节来看,还是缩短研发过程、减少产品问题、为用户和产品生命周期体现价值。只要能体现足够的价值,那么这种技术或这个行业、岗位就有足够的价值。
本文由西门子工程师撰文回答,希望对题主和关注这个话题的知友们提供帮助
西门子中国研究院
先进制造自动化方向 研发总监 于琪
本账号为西门子中国的官方知乎账号。西门子是全球领先的技术企业,创立于1847年,业务遍及全球200多个国家,专注于电气化、自动化和数字化领域。我们希望与你一同分享这些领域的知识与新科技,欢迎你的提问。此外,我们并不卖家电:)
西门子中国的每一位专家都是我们的智囊,你在这个账号可以阅读到来自西门子各个不同方向专家们的见解。请大家不要吝惜手里的“邀请”,让我们在分享中共同进步。
也欢迎大家关注我们的微博(ID:西门子)、微信 (ID:西门子中国)和B站(ID:西门子中国) ,更多的了解我们。
看到这里就给点个赞吧!
十、机械行业工业互联网软件
机械行业与工业互联网的结合
随着科技的日新月异,机械行业正逐渐迎来新的变革。在这一变革的浪潮中,工业互联网扮演着至关重要的角色。工业互联网是指运用互联网技术和思维来连接各种设备、解决方案和服务的网络,它的出现为传统的机械行业带来了诸多新的机遇和挑战。
工业互联网的核心在于数据的采集、传输以及分析。通过各种传感器和设备,机械行业可以实时监控设备运行状态、生产效率以及各种关键数据。这种实时数据的监控让生产过程更加透明化,管理更加科学化,大大提升了生产效率和产品质量。
软件在机械行业中的应用
在强大的数据支撑下,软件在机械行业中的应用日益广泛。从生产计划、设备维护到供应链管理,各种软件系统有效地帮助机械行业企业提升了工作效率和管理水平。
其中,智能制造软件更是机械行业的一大利器。通过智能算法的支持,智能制造软件可以实现生产流程的自动化、智能化管理,最大程度地优化生产线布局和生产过程,为机械行业企业带来巨大的生产效率提升和成本节约。
机械行业面临的挑战与机遇
尽管机械行业在工业互联网和软件技术的帮助下实现了一定的发展,但也面临着诸多挑战。首先,机械行业在数字化转型过程中可能会遇到技术人才匮乏、投入成本高等问题,这需要企业加大对人才的培养和技术研发的投入。
此外,机械行业企业要想通过工业互联网和软件技术实现可持续发展,还需要加强数据安全意识和数据治理能力。数据安全问题不仅关乎企业自身的利益,也关系到整个产业链的稳定和安全。
结语
综上所述,机械行业正处于数字化转型的关键时期,工业互联网和软件技术为其带来了前所未有的机遇与挑战。只有不断加强技术创新,培养人才,加强数据安全保护,机械行业才能在激烈的市场竞争中脱颖而出,迎接更加美好的未来。