抓住这些BUG程序员进大厂也就这回事,工作后2到3年进大厂操作指南

大厂真的比你想象的更难进去?鏖战字节跳动四面,终拿offer成功入职 前言 写在前面的话,说到大厂人们无非现在想到的不是BAT,但是我想说的是字节现在已经有后来居上的趋势,以后肯定不会比现在的BAT差太多!今天分享的是一个朋友的字节跳动四面面经,他自己都没想到看完我的面试资料真的面进去了,下面是他的面试题和过程分享。需要面试资料的朋友点击这里备注csdn即可免费领取,诚意满满! 一面 11.10 :44 min 说下项目。 线程与协程。(协程不会) DNS查询。 DNS投毒。(不会) 堆和栈的区别。 堆什么时候做内存回收。(错了一半) 项目有无用过 阅读详情

进大厂也就这回事,工作后2到3年进大厂操作指南

在BAT这种大厂里,只要肯吃苦,技术和工资进步的速度会超出你想象,我在上海,按当前价格算,一般在大厂里干个三四年,好歹房子的首付应该能有,而且这种房子还不是太偏远太小的。

进大厂确实需要一定的实力,但如果单单技术好,没有其它的技巧,估计确实也有些难度。不过话说来,哪怕是二本出身,哪怕技术一般,只要肯上心加方法得当,工作后3年进大厂应该不是难事。在本文里,就将针对起点一般技术一般的同学,给出具体的进大厂操作指南。

一、先从战略上藐视,进大厂也就这回事

大厂里也有只有2,3年开发经验的初级开发,而且其中有些同学的学校可能也就是个二本,或许他们进大厂前,资历技术和你也差不多。甚至可以这样说,只要找到渠道去面试,外加适当的准备技巧,进大厂其实比进一些面试要求比较苛刻的小公司更容易。

就拿一些步骤来说吧,简历方面,只要有适当的分布式组件经验就至少能得到面试机会,面试时,当然如果光会增删改查当然不行,不过面试问到的题目以及提问的方式,网上多了去了,本文也会涉及,关键第一要适当看分布式技术,第二要结合项目说,这对初级开发而言,也不难。甚至当有些项目比较缺人时,面试的标准更会降低。

我给大家量化一下进大厂的需要花费的努力和时间吧。第一大概每天用1个小时看资料运行代码准备说辞,每周大概累计用10个小时,经过2个月其实该看得就差不多了,然后再用2个月用几个小公司面试练手,就可以去大厂投简历了。如果一切顺利什么都好说,万一不成,换个项目组,或者多面几家大厂,面个3,4次,应该也能行了。用时间努力应该不是问题,努力的方向可能未必大家都知道,具体的后文将详细展开

二、尽可能洗白你的不利因素

首先要让你的简历过筛选,否则没面试机会。能过筛选的简历一般长什么样?

1. 硕士,一本大学,1,2年经验,而且最近项目里包含分布式组件等值钱技术。

2. 如果大学一般, 本科学历,估计要运气,看不同的项目组,可能会需要再多1年左右的项目经验,如果项目组着急要,或公司招聘需求高时,其实不看学校。

3. 这点很重要,别太频繁跳槽,最好最近1年没跳槽经历,而且最近在职,不是长时间处于离职状态。

简历上项目经验这块可以自己挖掘,但如果有不利的因素,尽量用时间冲淡。

1. 学校一般,找个有高并发背景的项目,体现在简历上,最多两年就够了。

2. 最近跳槽太频繁,找个公司窝个一年左右,最好是最近一年半没跳槽经历。如果有超过1个月的离职状态,也可以通过连续上班个1,2年来淡化。

3. 刚从培训班里出来,也去找个小公司干一年半载的,但要积累分布式项目经验。

大家注意没,这部分一直在强调分布式组件的技术,具体而言是netty,redis,mycat,kakfa等高并发的技术,工作年限是一方面,另外你简历最近的项目里,这些分布式组件的实践技能一定要体现出来,如果你让大厂的面试官感觉你第一相关技术年限不足,第二只会增删改查,那么对不起,你没面试机会。还有,如果你实际能力很强,但简历上看不出,面试官直接认为你不行。

三、数据结构方面,最好能引导到准备好的技术亮点

数据结构是大厂面试必问的点,网上这些题目太多了,而且答案都可以准备。不过如果要进大厂,最好能触类旁通。

先用红黑树举例,除了要能讲基本数据结构,插入删除节点能操作外,可以再引到ConcurrentHashmap底层数据结构上,用该对象的底层代码来说明,其实这和你的项目能力无关,事先准备下就行了,但如果你回答红黑树问题时顺带引出底层代码,甚至还可以从ConcurrentHash引到并发方面的问题,这样面试官就不会认为你光会理论。

再说比较常用的链表数组等,这些第一可以和Java里的ArrayList等对象一起讲,第二可以顺带引出快速失效和遍历等底层代码,这样也能让面试官感觉你基础扎实。

至于HashMap,这方面都被问烂了,网上的解析文太多了,但大家在回答好理论问题和底层代码后,也可以进一步展示锁和并发的话题。

总之,数据结构的问题是必问了,在这个环节,很多初级开发候选人甚至连底层代码层次的问题都回答不好,而你经过准备,不仅能举一反三地展示你对底层代码的理解,更能借机展示锁和并发等技术点,首先就能给面试官留下个好印象。至于笔试写算法,这种网上题目更多了, 事先更可以准备。

四、大厂更多考的是并发方面的能力,同时更要结合项目说

先给些提问的方式,比如netty,先问重要组件和工作流程,再问序列化,服务暴露等事先细节,再问读写索引半包粘包等问题,其实对初级开发而言,问到这里就差不多了,如果要找个高级开发,可能再会结合底层代码问。分布式组件有很多,其它组件,比如mycat,也是先问用法,比如如何设置分库规则,再问底层细节,比如底层代码如何把sql定位到具体的库上。再如redis,可以先会问些数据结构以及基本用法,再问些诸如集群等方面的细节。

哪怕去面大厂的高级开发,准备分布式并发这块其实也不是问题,因为很多人在之前其实基本没相关项目经验,其实都是在背题,你只要在面试时,让面试官感觉略微比别人多些项目经验即可,下面给些准备的方法。

1. 先看几套面试题,这些面试题其实都大同小异,都会比较深地涉及到底层源码和实践要点,先把理论题背熟。这些点虽然不少,但其实都是体力活,背书么,这种事应该没难度。该背哪些素材呢?我之前看到的吊打面试官系列就不错。其实当大家看了几套题以后,会发现分布式组件的值钱技术,也就这么多。

2. 其实很多候选人仅仅停留在这个地步,如果你做了后继步骤,就比大多人强了。在背熟以后,再给一些技术找些项目的背景,这些技术未必要深,但一定要结合项目的业务。比如就说最基本的redis,你说你之前的项目是某数据处理模块(项目可以按实际说),并发量大概每秒1k,如果都把请求压到数据库,数据库受不了,所以就用redis集群,然后准备些集群的大致配置方式。在用的时候,结合业务,用到了里面string等数据结构,用的时候会设置超时时间,以防缓存一直在内存,同时为了防止穿透,会把null也缓存起来。同时量力而行,就别再说redis事务了。

请注意结合业务说技术的时候,未必要涉及过于细节的点,比如不用涉及到redis的线程模型没,但首先得说些配置值(比如集群配置值和超时配置的方式),让面试官感觉你确实在项目里用过,其次要讲些项目里用到的经验,比如redis要用集群,防止单点失效,设置的超时时间最好后面带个随机秒,以防一个时间点里大批量缓存失效,一下子去拿数据库从而导致压力过大。

这里仅仅给出了redis,另外,mycat,kafka,netty, zookeeper,dubbo等,也照此办理,这样哪怕你平时用得不多,但也能让面试官感觉这方面你有实际的项目经验。

3. 确实分布式组件这块要说好不容易,为了让面试官感觉你有这方面的经验,或者作为没说好问题时的补救措施,你最好再整理些实际解决过的问题。

准备问题时先讲问题是如何发现的,比如日志里频繁报oom异常,或者干脆系统登不上,再说你是什么查的,无非是通过linux命令看日志,或者用dump看内存镜像,再说问题原因,比如dubbo超时时间过长导致请求卡住,或者redis没设超时时间导致内存oom,这些点网上一搜也是一大堆。

而且你分析问题原因时,更可以借机让面试官感觉你熟悉分布式组件的底层源码,比如你准备些netty底层读写索引(或零拷贝)的源码,面试时当你说你解决过因netty半包等原因而导致的问题时,可以借机抛出。

4. 再准备些画龙点睛的说辞,当你结合项目以及你解决过的问题说出分布式组件技术时,再说出这些点,立即能让面试官高看你,这些点可以是基于kafka的防幂等机制,也可以是zk整合dubbo的源码,这种值钱技术和源码太多了。由于找这些点是体力活,所以本人在这里就懒得再列了。

再啰嗦下,准备分布式技术说辞时,一定要结合项目,哪怕你平时用得很少,但可以找网上的资料,但找到后一定要融入到项目里。这里给个例子,某初级开发候选人也很用心,背了很多分布式题,基本有问必能回,但当面试官让结合之前项目经验说用到的技术时,他说不上,另一位其实分布式底层细节了解不深,但就能结合项目说些redis超时以及防穿透的实现细节,其实这些技术并不深,但对初级开发的要求并不高,正是因为后者具备分布式组件的项目经验,所以虽然两位都录用了,但后者的工资要高于前者。

五、充分展示调试和部署项目的能力

调试和部署项目的能力对初级和高级开发来说绝对是亮点,而且哪怕是大厂的候选人,也不是每个人都会。这块你如果说了,面试官未必会细问,只要听你讲的没大问题即可,而且这块不在于用到技术的深浅,而在于你知道这方面的实践要点。

在我之前的博文里,给出了准备压测的实践要点,从而大家可以看到,面试官不在乎你压测方面解决过的问题,也不在乎涉及到的技术,只关心你有这方面分析和解决问题的经验。

同样你可以在面试前准备些分析和解决问题的步骤,这之前也已经提到过,这里再给个例子。比如cat等监控系统上频繁报内存用量高,这时你看日志或dump,然后发现了问题,问题根源太多了,除了刚才提到的redis缓存没释放,更可以是netty堆外内存没处理好。好吧这些涉及到的技术太深,那么给些简单的,比如因为HashMap用好没clear,或者数据库对象没关,或线程池创建时用无限队列缓存任务,然后你搜oom原因,再去找其它原因,你项目里遇到的就可以当作你亮点的说辞。

再说部署方法,你可以看些zk加dubbo部署的配置文件,也可以看些redis各种集群的部署配置,如果你感觉有余力,再看些灰度发布切流量的配置,其实看会了也就是一两句代码的问题,但你结合部署这个大题目说出来,立意就不同了,因为高级开发(以及架构师)不仅要会写代码,更要会部署组件。

六、给出若厂面试过程的提问和回答

面试官:介绍下你的经历和项目经验?

候选人,介绍教育背景(二本三本都不要紧),有1到2年相关经验(挖掘课程设计毕业设计和工作后的经验,应该可以达到)。略微介绍项目的业务,比如我之前在xx公司做了支付系统,用到spring boot, netty, mycat等技术(准备过的亮点都可以说,分布式组件多多益善),在项目里,我不仅写代码,还参与过压测和数据库和jvm调优(抛出诱饵等来问),还解决过线上报出的redis缓存穿透,kafka消息重发导致不幂等和dubbo超时导致线上连接数打满的问题(这里多准备些分布式的问题,也坐等面试官来问)。再介绍些超出编码技能的能力,比如说,在项目里,我还用过sonar来管理项目质量,参与过jenkins发布部署脚本的编写等。(这种技术每个项目都有,你关注下,无非是写配置,但你说了就不一样了)

听你讲完项目介绍后,面试官会问分布式等问题,比如会问,你说你解决过redis缓存穿透问题,你说下如何解决的?

候选人:(回答的时候一定要结合项目),在我的支付管理系统了,支付模块会向风控模块请求公司的风控数据,但相同请求的参数会发多次,所以就用redis来缓存(大致介绍业务背景),但实际应用中,发出的请求未必全存在风控的库里,所以就穿透了。后来解决的方法是,把null值也缓存,把一些经常请求的但不存在风控表里的参数也缓存。注意这里面试官不会关注具体业务和解决方案,你只要大致说得没问题就行,比如这里你别说就用单机版的redis就行了。同样的问题解决方案多准备几套,这样你说了,面试官就会认为你在实际项目里用过。

当你讲完redis,mycat,kafka,netty等解决过的问题后,面试官会开始问些底层的细节,比如会问,你说下netty的线程模型,netty的读写索引,dubbo反序列化的协议等等,这些就属于考理论知识了,由于你事先背过,所以应该不会有太大的问题。这里面试官的用意是想摆脱你事先的准备,所以会随机发问,但你要想办法把问题点拉回来,而且争取多耗时间,这怎么做呢?

(比如问netty的线程模型),候选人:先边画边说,讲好模型后,然后立即带一句,在我们项目里,是用线程池来管理work进程(拉回到业务里),在管理进程时,还遇到过因缓存队列设成无界队列而导致的oom问题。(再次抛出诱饵坐等问),然后借机展开,以此成功耗费面试时间。而且如果按上文给出的准备步骤,你可以准备好每个组件解决过的问题,然后逐一展开。

当问好分布式组件后,面试官可能会问些数据库和java基础,这些更简单了。

面试官:你们项目的数据库是什么?

候选人:我们用到的是oracle,在项目里用到了mycat分库分表(之前说过就算了,没说过就抛出),在项目里,我还处理过长sql问题(由此引出调优亮点)。

面试官:你是什么调优的?(不由自主地被引导)

候选人:我们用到的监控方式是cat,当监控系统上发现长sql时,我们就用执行计划来分析,然后对应地建索引,或者建redis缓存,或者用with语句优化sql。然后找个准备过的sql讲下就结了。

然后面试官会问些索引之类的问题,这些你事先背些答案,讲些底层结构即可。问好数据库,面试官会问java核心,比如hashmap,线程安全不安全,或者jvm问题。这种你背好答案,同样再引申下。

候选人:对于hashmap,除了刚才我讲的底层代码外,用好以后,我们还需要立即clear,以防内存泄漏(引到内存话题)。或回答好jvm问题后,你立即说,在实际项目里,我们会监控jvm的用量,当超出70%时,就用dump文件看镜像,之前项目里我遇到的jvm问题有,netty堆外内存管理不善,ThreadLocal用好没remove,造成oom的原因太多了,大家自行准备,我不展开了。

通过上述方式,你回答好问题后,立即结合业务抛出下个诱饵,然后想办法把问题引到jvm调优,数据库调优,线程底层代码,(hashmap等)底层源码之类的问题,这样可能你本身的技术未必行,而且资历也未必够,但面试官给你的评价可能就是,第一基础扎实,第二有调优经验,第三有分布式组件的使用经验,如果面高级开发,上述三点就足够了,更何况去面初级开发,指不定还有如下的评价,比如掌握项目代码质量的提升技能,熟悉线上调试和发布的基本技能,熟悉分布式底层细节等。如果再得到这些评价,估计面架构师都够了。

这还不算完,当面试官提好问题,但你准备的亮点没机会抛出时,别不甘心,有机会抛出。

面试官:我问题问好了,你有什么要问我的?

候选人:(先套上话),如果我有幸面试成功,会进哪个项目组?然后不管面试官怎么回答,哪怕回答“这要看情况分配”也不要紧,然后继续问,(比如dubbo亮点没抛够)在你们项目里,怎么做远程调用的(揣着明白装糊涂)?面试官一般就会说dubbo了,然后交流,交流过程中不经意说句话,我们之前项目也用dubbo,所以我还看过dubbo源码,并解决过服务暴露的问题,然后很大几率能有机会说出。

或者你没机会说出压测技能,就可以假惺惺地问,你们项目里会不会做压测?压测时怎么发请求?怎么监控?然后可以在交流过程中说你的亮点。其它的亮点也照此准备。

七、多找几家小公司面试,其实有些小公司的面试难度还超出大公司

理想情况下,你面试的结果和技能无关,和项目经验的长短也无关,只和你简历上的项目和技术介绍有关,和你事先的准备亮点说辞有关。

但如果单纯准备不去实践,任何面试官都能摸清你的底细,这点别有任何幻想。因为一方面你准备的点未必全,第二你准备的项目说辞未必很好地打过草稿,中间可能会有漏洞,这时你就需要找些小公司来尝试了。

这怎么做:准备按大厂面试的标准准备,然后到处去投小公司的简历,记住先别着急找大公司,尽量别在大公司里留下面试不成的记录,最好一周面个两家。

刚开始面试的时候,你会发现你的说辞漏洞百出,甚至会被看穿你的底细,但别灰心,第一收集面试官的问法,第二不断练习亮点技能结合项目的说法,第三再不断挖掘你的亮点技能,这个时间段里,小公司的面试官会尽职地弥补你面试中的弱点。

什么时候能出师?第一面试官确实能问分布式组件的实践经验,而不是单纯问理论,第二此类面试你通过三家,第三而且你是大优势通过,而不是可上可下地通过。

八、进大厂的渠道

这个时候你就能信心十足地去挑战大厂了,这个时候如何找进大厂的渠道呢?

1. 在招聘网上等渠道,多接触几个猎头,明和他们说你要进大厂,比如bat或者公司名称。不是每个时间段大厂都有招聘名额,不要紧就等,而且等的时间不会太长,最多2个月。

2. 找内推,比如大家在网上看到有面试成功的文章,就联系下。

这里推荐是找猎头,因为猎头方便打探你面试结果,而且面试成了更能帮你最大程度争取工资,同时万一没面成,你可以和猎头说,你想面这家公司的其它项目岗位。如果你自己投简历,未必能得到这样的遍历。

当你充分准备,并准备好的说辞经过小公司的检验后,一般问题就不大了,万一再失败,或者找该公司其它岗位,或者找其它大厂,最多面个3次应该也就成了。

九、总结,任何时候开始努力都不晚,大厂离你当前的高度最多也就两年的距离

还是这句话,其实进大厂,得到的也就是个能通过加班从而快速提升技能和收入的机会,而且大厂每年的招聘名额都不少,进大厂不难。网上我就见过不少毕业3年内的同学进大厂,我身边的,我见过硕士就1年经验进拼多多,本科2年经验进阿里,至于3到5年经验进大厂的人,我都记不过来了。

进大厂除了能提升技能外,收益也比较可观,比如工作3年,能有20k*16个月的收入,找个其它行业,这些资历能有对应收入的,并不多没,而且进大厂后,做个3,4年进可以继续升级到架构师,达到年入五六十万的收益(这还算平均水平),退可以像我这样进个外企,工资外加平时出书出视频,在上海也不至于饿死。

可能不少同学现在看大厂需要仰视,但其实做的准备也就这么回事,时间用够,多看视频教程,少干无益的消遣,估计顶了天了,2年努力真的足够了,1年洗白简历,1年准备,这还算多了。但如果固步自封,或者虽然努力但始终不敢迈出面试的步骤,那么可能真只能在小公司里随遇而安了。

感谢大家看完长文,本文写了有3个半小时,而且篇幅足够,如果大家感觉可以,请多多点赞,有问题也可以多写评论。

 

写在最后,对面试影响很大的一部分还是刷题,知彼知己百战不殆嘛;下面是小编收集大厂最新的大厂面试真题,可以添加助手免费获取;

 

一名开发三年的Java程序员陈述:进大公司拿30K+到底有多难? 阅读详情

相关推荐

两年JAVA经验,非科班菜鸡的我是如何拿下字节、美团、腾讯等offer的?吃透这份面经,大厂不再是梦!

前言 博主深圳某不知名大学本科毕业,一开始一直觉得大厂是自己遥不可及的梦,毕业之后在一家国有银行的科技部门干了两年,做的主要是线上消费贷款的后台部分。干了差不多两年,公司的业务都会了,技术也没办法再提升,我感觉也是时候出来看看机会了。毕竟谁还没个大厂梦呢? 准备阶段 准备一份好的简历 想进大厂简历是一定不能马虎的,一份好的简历直接决定了你有没有面试的机会,即使你技术再强过不了简历也发挥不了,建议不要直接投大厂,可以先投一些小厂积累面试经验。 不会包装简历没关系,博主准备了一些简历模板,当时我也

LIKAIRAN16的博客 555

字节奋战8年,离去的时候只有一份1857页的算法笔记陪我

计算机专业的应届生想进大厂做开发有多难呢? 我们来看一组网上的数据: 据统计,互联网公司笔试是最难的关卡之一,平均通过率只有 10%~20%。滴滴出行笔试通过率为 18.2%;腾讯秋招笔试通过率不足 15%;字节跳动通过率不足 25%... 你要知道的是,即便好不容易过淘汰率 50% 笔试,还有淘汰率 60% 的面试在等你,而且面试也有好几轮:一面群面→二面组长面→三面部门经理面→四面总监面→五面 HR 面→ Offer。 看完这个,不知道有多少同学的心已经凉得跟现在东北的气温一..

文章中资料均可获取,有需要请添加yunduoa2019即可 432

英伟达NVIDIA数字IC后端笔试真题(ASIC Physical Design Engineer)

英伟达NVIDIA数字IC后端笔试真题(ASIC Physical Design方向)

weixin_37584728的博客 3918

那个当年的二本学渣,工作两年,为何跳进大厂

2019年,随着大数据、AI、云计算等新技术的登场,传统互联网技术从业者的职业发展及薪资越发受到限制。新的技术,意味着新的行业、新的机遇,无论你选择哪个方向,不断持续学习...

微信搜:import_bigdata,大数据领域硬核原创作者 1295

在centos7部署k8s搭建kubernetes集群

Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。 Kubernetes一个核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行着(比如用户想让apache一直运行,用户不需要关心怎么去做,Kubernetes会自动去监控,然后去重启,新建,总之,让apache一直提供服务),管理员可以加载一个微型服务,让规划器来找

山东梅长苏 1万+

SAP FICO CK40N批量发布标准价:常见报错排查与实战解决指南

本文详细解析了SAP FICO模块中CK40N批量发布标准价的常见报错及解决方案。从物料选择、成本核算到最终发布的全流程,提供了针对'已有标准成本估算记号'等典型报错的实战处理技巧,并分享了预防性维护与批量处理的高效方法,帮助财务人员提升工作效率。

weixin_29234509的博客 304

程序员想进大厂?4个要点让你快人一步!

导师:James 咕泡学院CEO,10年行业经验,7年互联网工作经验,曾就职于惠普、大众点评、互联网金融行业。三年面试官经验,有丰富的教学和实战经验。 你的面试干货已抵达!上周提及0-3年经验的程序员面试要点。今天为大家换个花样,工作经验3-5年程序员该如何迈向大厂。 工作经验3-5年的程序员,处于职场小白向职业人转变的阶段。经历过初级阶段的成长和磨练,其不管是在理论知识还是在实战经验方面,都具备了能胜任公司中简单的工作项目。但是,其中大多数人不仅仅满足小厂简单、缺少挑战性的任务,他们更想要「更上一层楼.

taotao100595的博客 1936

【数学模型】灰色关联分析

数学模型-灰色关联分析

suic009的博客 1万+

大厂程序员年薪_【面试类】程序员想进大厂?4个要点让你快人一步!

更多精彩内容请关注我们导师:James咕泡学院CEO,10年行业经验,7年互联网工作经验,曾就职于惠普、大众点评、互联网金融行业。三年面试官经验,有丰富的教学和实战经验。你的面试干货已抵达!上周提及0-3年经验的程序员面试要点。今天为大家换个花样,工作经验3-5年程序员该如何迈向大厂。工作经验3-5年的程序员,处于职场小白向职业人转变的阶段。经历过初级阶段的成长和磨练,其不管是在理论知识...

weixin_42498163的博客 129

基于Agent与大模型的性能测试脚本自动化生成实践

性能测试是软件质量保障的关键环节,其核心在于模拟真实用户负载以评估系统在高并发下的表现。传统脚本编写依赖人工,效率低下且易出错。通过引入智能体(Agent)与大语言模型(LLM)技术,可实现从自然语言描述或接口文档到可执行脚本的自动化转换。Agent负责任务规划与工具调用,LLM则提供强大的意图理解与代码生成能力,二者结合能精准解析测试场景、自动处理参数化与接口关联等复杂逻辑。该技术方案显著提升了脚本生成效率与准确性,尤其适用于持续集成、海量接口回归等需要快速构建测试场景的工程实践。本文以JMeter和Lo

weixin_28718769的博客 259

计算机模拟爆破过程,基于LSDYNA岩石爆破模拟建模分析

原标题:基于LSDYNA岩石爆破模拟建模分析 Ls Dyna岩石爆破模拟仿真作者:dyna_focus擅长领域:dyna/abaqus/hypermesh一、 数值模型的建立1.1 单元及算法的选择岩石,炸药,空气都采用solid164实体单元。岩石采用常应力实体单元,该种单元属于纯粹的lagrange算法,该种算法单元网格附着在材料上,随着材料的流动而产生单元网格的变形,但是在结构变形巨大时,有...

weixin_29494379的博客 7316

作为一名工作了7、8年的程序员,感觉啥都会,但是又啥都不精通,怎么办?

经过播妞深入调查分析,所谓的35岁职场危机,其实在你的25-28岁就已经埋下伏笔,只不过在后来才集中显现。一个非常普遍但90%的人不知道的现象就是,毕业3-5年,即25-28岁的分水岭是另一种形式的“高考分流”。他无比诚恳:真的,因为公司项目比较成熟,偶尔需要加个新功能,更多的时间是在增删改查,运维。不难发现,他们都陷入了这样的怪圈。有人说,当下是一个最坏的时代,学习成本低,更多人投入IT赛道,大厂招聘要求拔高。高手和普通程序员的很大区别,在于持续性努力,谁坚持得更好,谁努力得更久,谁才能笑到最后。

黑马程序员官方博客 666

全新RT-DETR 有效涨点改进目录 | 包含各种卷积、主干改进、各种注意力机制、Neck特征融合改进、损失函数、AIFI创新改进、独家创新、小目标检测、特殊场景检测等最全大论文及小论文必备创新改进点

《全新最全RT-DETR涨点改进专栏》提供500+种创新改进方案,涵盖卷积、注意力机制、主干网络等模块优化,适用于PCB检测、工业缺陷检测等场景。专栏包含顶会论文改进点、数据集增强方法、热力图可视化等实用功能,帮助科研人员快速提升模型性能。提供完整环境配置指南(Python3.10+Pytorch2.5.1)和训练教程,支持不同版本RT-DETR模型。定期更新涨点策略,配套QQ答疑群免费指导,适合从入门到发论文全流程需求,特别推荐给目标检测领域的研究生和工程师。

Ai缝合怪、助力小伙伴高效发论文 3416

为什么很多人工作 3 年 却只有 1 年经验?

先听一个故事:程序员明明:“大师为作为一个具有 3 年工作经验的人,为啥别人 2 年工作经验比我还强呢?大师回答道:“你只是工作了三年,未必有三年的经验”程序员明明:“大师此话怎讲?大师回答道:“说来话长…,你还是直接去看明明如月学长文章吧…”不知道大家想过没有,同样是在软件开发行业工作 3 年,为什么有些人经验丰富,可以独当一面,而有些人却还和工作一年的人差不多?为什么一起参加工作的人,同一批人中很多人都升到了团队主管的职位,而还有很多人还是普通的开发?

悟鸣的技术博客 1万+

线性代数-第24篇:线性代数在控制系统中的核心应用

线性代数通过状态空间建模、矩阵分解与优化算法,为控制系统提供了从理论分析到工程实现的完整框架。从传统PID控制到现代智能控制,其应用贯穿系统设计、分析与优化的全流程。未来,随着多智能体协同控制、量子控制系统等前沿领域的发展,线性代数将在高维矩阵计算、分布式优化等方向持续创新,为复杂控制系统的突破提供核心支撑。如果对线性代数在控制系统中的应用细节有疑问,欢迎在评论区留言!

无 424

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

泡着枸杞写bug的三流程序员凭什么逆袭到一线大厂?

大多数互联网的从业者都有一个梦想:进大厂。 因为不仅可以享受较好的福利待遇,也能与更优秀的人一起共事,获得更专业、更快速的成长。 最近经常有朋友提及想要入门编程学习,该如何学习? 关于编程学习,各种语言网上的资料很多,不过貌似大部分都不太适合初学者。 我曾经是一名三流程序员,每天的工作内容就是在前人留下的 bug 上写新的bug,我以为我的职业生涯就是这样泡着枸杞写 bug,后来我接触到了Python学习。 真心比学别的容易的多,我买了书籍、资料,一头扎进了深度学习的蓝海,但很快,我就有种缺氧的.

优快云学习 4023

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

努力学计算机四年,终于进腾讯了!

大家好,我是鱼皮,20 届本科毕业,目前是鹅厂的一名全栈应用开发。 前几天在某乎上看到一个问题:大学计算机系最努力的同学都是如何学习的? 看了几个高赞回答后,真的是感同身受,也想和大家分享一下自己大学的学习经历,算是给自己一个继续前行的动力吧。 与君共勉! 我的大学四年 论努力,我不会输给任何人。 认识我的朋友都知道,即使目前在鹅厂的高压下工作,我也依然坚持利用午休和下班后的时间创作,每晚都是接近 2 点才上床休息。 朋友们总劝我,你别肝了,我说:大学的时候,可比这累多了。 下面分享一下我通过自学,最终拿

努力做最接地气的编程干货分享,感谢关注 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain&#39;s apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath(&#39;DeepLearnToolbox&#39;));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand(&#39;state&#39;,0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = &#39;sigm&#39;;%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, &#39;Too big error&#39;);```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, &#39;Too big error&#39;);```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

揭 秘~月薪2-3万的程序员一天到底是怎么度过的?

在大家的分享中,我们可以看到月入两三万的程序员,其实也和其它程序员日常差不多,平时写写代码,改改bug,工作时还可能会划划水,当然,也会有不可避免的加班存在。所以,想要实现月薪2w+但是现在还未能达到目标的伙伴们,也无需有过多的焦虑,做好职业规划,利用时间学习提升在自己的技术,在机会来临时,争取能够紧紧的抓住。帖子下面的分享,让大家看到了程序员不同的一面,也让我们发现了,程序员高薪的背后,有着大众看不见的另一种生活。作为薪资可观的岗位,大家都非常好奇,月薪2万到3万的程序员日常生活到底是怎样的?

马士兵教育 1234

为什么很多程序员工作 3 年 却 只有 1 年 经验?

一、前言先听一个故事:登录后复制 程序员小明:“大师为作为一个具有 3 年工作经验的人,为啥别人 2 年工作经验比我还强呢?” 大师回答道:“你只是工作了三年,未必有三年的经验” 程序员小明:“大师此话怎讲?” 大师回答道:“说来话长....,你还是直接去看南巷雨落的文章吧.....”1.2.3.4.不知道大家想过没有,...

weixin_40526690的博客 170

领导周末喊程序员修 bug,程序员:我是来上班的,不是*身的

最近论坛看到个帖子:一名程序员周末和女友出去玩,没想到所负责的系统出现了错误,领导要求其马上修复的bug。底气哪里来?我也想说一声“我不干了”。那必须你的技术精啊,但是职场很多程序员都面...

公众号-老炮说Java 400

为什么有的程序员干不到30岁就转行了?

本人最近和不少小公司的程序员打交道。经过和他们的深入交流,我感受到了不少小公司程序员的现状,由此深深地感叹,可能真有不少小公司的程序员未必能干到30岁,甚至,一些技术一般态度又不好的程序员,可能还未必能干到28岁。 1 能踏实做好增删改查的程序员,就算能力达标 我去我朋友开的一家软件坐了坐,顺带近距离观察了他们java程序员的开发日常,首先说明,我接触到的程序员不是才入职,而是普遍有2到3年工作经验。他们的开发团队是一个项目组长外带10多号人做个java方面的维护项目,用到了spring boot。

wdjnb的博客 1003

2026年程序员别再盲目躺平!抓住大模型风口轻松逆袭

2026年技术圈的分化愈发明显:降薪裁员潮持续蔓延,传统开发、测试等岗位大批缩水,不少从业者陷入职业焦虑;与之形成鲜明对比的是,AI大模型相关岗位迎来疯狂扩招,薪资逆势飙升150%,大厂更是直接开出70-100W年薪,疯抢具备实战能力的大模型人才,甚至放宽年龄限制,只求能快速落地技术、创造价值!1、窗口期红利,入门门槛友好:不同于成熟赛道的“内卷式招聘”,2026年大模型人才缺口巨大,简历只要达标(掌握基础AI应用+具备简单项目经验),年龄、学历均非硬性要求,小白可快速入门,转行程序员也能无缝衔接;

m0_48891301的博客 352

程序员做外包有前途吗?

先说结论: 1 程序员做外包没有前途,外包做久,不是说工作找不到,而是会耗费宝贵的职业发展时间。 2 对于零基础的程序员来说,做外包是个很好的入行途径,尤其是对培训班出身的程序员。 3 外包做了一年后,应当跳槽,而且 在这个程度上跳槽不难。如果把时间放宽些,程序员做外包的时间不应该超过两年。 其实做外包也有三六九等,最差的外包是,外包公司没有任何技术储备,直接把人卖到甲方,而且是驻场开发。好一点是的,公司通过做项目,好歹也有一点基础储备,或者是项目开发和实施方案,这种外包文件大部分可能是在公司办公,

hsm_computer的博客 5327

收藏!AI会取代我的工作吗?程序员必看的大模型时代生存指南

如今技术圈降薪裁员频频爆发,传统岗位大批缩水,相反AI相关技术岗疯狂扩招,薪资逆势上涨150%,大厂老板们甚至开出70-100W年薪,挖掘AI大模型人才!技术的稀缺性,才是你「值钱」的关键!具备AI能力的程序员,比传统开发高出不止一截!有的人早就转行AI方向,拿到百万年薪!👇🏻👇🏻是不是也想抓住这次风口,但卡在 “入门无门”?小白:想学大模型,却分不清 LLM、微调、部署,不知道从哪下手?传统程序员:想转型,担心基础不够,找不到适配的学习路径?

大模型研究中心 756

2026年AI岗位激增14倍,传统程序员寒冬求生指南,小白也能抓住最后转型窗口期!

2026年AI岗位激增14倍,百度、腾讯等大厂纷纷扩招,而传统程序员入门级岗位断崖式下跌。AI工具正替代重复性编码工作,薪资差距悬殊。本文分析就业市场分化原因,指出AI技术变革期是程序员转型的最后窗口期,并提供3-6个月快速路径和12-18个月深度路径学习建议,帮助程序员抓住AI时代机遇。2026年春招,AI岗位同比激增14倍,百度AI岗位占比超90%,腾讯技术岗扩招36%。与此同时,传统程序员入门级岗位招聘断崖式下跌近20%。这是一个残酷的现实:就业市场正在剧烈分化,而你站在十字路口。

youmaob的博客 351
上一篇: 本以为自己MySQL够牛逼了,直到亲自去阿里受虐了一次!
下一篇: 面试阿里太难了!二本毕业、两年crud经验,侥幸通过面试定级P6
Java斗帝之路
博客等级 码龄7年 2392粉丝 687原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值