程序员成长之路 java面试指导(作者说的极好要看) 静下心看

https://blog.csdn.net/weixin_41780944/article/details/79429769

从面试官的角度分享一些后端校招经验(作者说的极好要看)

https://blog.csdn.net/qq_34337272/article/details/80875016

除了手写代码和计算机基础,剩下的方面都是可选项,很多硕士应届生,研究生期间和导师做某个方向的研究,从来没写过后端应用,那只要基础知识很扎实,研究做的也不错就可以了。还有一些同学正好相反,基础知识比较差,但是动手能力很强,自己做过许多东西,这类就要求关于项目的问题回答的很好,表现出很强的自学能力才能通过。 

项目的问题我举个例子,如果一个同学做过微信公众号的支付部分,那我会让他画一下微信支付的流程图,然后问从微信的角度考虑,设计流程时,如何防止用户篡改价格,如何防止重复支付,如果网络连接断开了,怎么获取支付结果,如何防止重放攻击等等。真的做过项目的同学,至少流程图是能画出来的,但是这远远不够。能够从微信支付的流程中学到支付 API 的设计思路,并且在自己设计 API 的时候能够用上,才算是学习能力强的候选人。 

另外还有一个同学参加微软的创业大赛做了一个 App,比一般同学练手做的 App 完成度高很多。另外,如果有兴趣,自己钻研一些开源系统也是很好的加分项,比如有些同学精读 Linux 源码,面试官问不出极限,肯定会给很高的评价。

https://www.nowcoder.com/discuss/56158?type=0&order=0&pos=26&page=1

 

 

https://www.tianmaying.com/qa/317

提问:非科班,Java应该怎么学才能在校招中拿到好的offer? 匿名用户 于 3月9日

java

0  1 

David

回答

David 回答于 3月9日 0 浏览 0 评论

转帖我知乎上的回答

我更多从招人的角度给你几点建议。

我招一个Java程序员,我大概会这样来考察一个人。

1、至少你得过了笔试或者网上的编程测试吧。面试机会先拿到。既然目标是比较好的Offer,一般还是会考察你CS基础知识的。去看看各个公司的笔试题,网上到处是。算法和CS核心课程你还是应该去复习的。

2、喜欢编程的人,大都会折腾个Github项目之类的,哪怕是个简单的博客应用,如果我看到你会去捣鼓这些东西的话,我会认为你是一个有编程热情的人,很加分。

3、有一两个做得深入的项目很加分,去争取参与实际项目机会,身边有这样喜欢折腾的朋友那就再好不过了。实在找不到自己去实现一个网站或者App,部署或者分发出来,活生生的东西可以增加说服力。找个项目创意还是很容易,没这方面Sense,山寨也行,练手而已嘛,做得好说不定成了创业项目。

4、除编程之外,有一两种你深入理解和掌握的技术,比如Java求职的话,你对Spring的整套体系甚至源码理解很深入可以大大加分。技术涉猎比较广泛的人,是比较受欢迎的。

5、赶紧找实习吧,实习进入好公司的门槛相对低一些,积累经历的同时,内推也更有机会。

6、你确实数学功底不错的话,怒刷算法也能增加一些机会。算法更多是用来考察逻辑思维和学习潜力的,如果你有编程竞赛背书的话,会大大加分;只是我出题时算法答得好,有加分,不多。对一般人而言,让算法别给你减分就行了。

综上,套用蓝海战略的术语,我给你的战略是:

在没有“名校背书”、“编程竞赛获奖”等价值点的情况下,在“算法”和“CS基础知识”这些价值点上至少要不低于竞争对手的平均水平,在“技术热情与好奇心”、“实战经验”这两个价值点不妨重点突破。这样的话有机会拿下一线IT公司的Offer。

如果希望想在“算法”这个价值点上寻求突破,参考上面所说的第六点。

想翻墙去北美,就忽略上面全部所说,算法是命门,可以看我一个同学的攻略:american-dream-of-coders

其它几个观点,供你参考:

关于非科班:

就编程技能而言,很多非科班出身的人都做得非常不错,从求职来说的话完全可以不输科班。

科班出身,一个优势在于学习了很多计算机专业的核心课程,这些课程的确是帮助我们建立计算机修养的东西,潜移默化地影响和提升我们的技术底蕴。就跟一个人看书多也能增加人文修养类似。法国人学数学都是一种修养,所以出大数学家。同样和人文修养类似,计算机修养对我们职业生涯的影响却并不是立竿见影的,大部分情况下可以说是不影响求职的。一个现象就是即使CS科班出身的人,最后往往也会发现实际工作中未必会用到学到的知识。我们要辩证地看待这一点。举个例子,编译原理可能你工作中从来不会遇到,但是深入学习过编译原理的人,对“语言”的理解一定会更加深刻,你学习各种语言(不特指编程语言)或者需要去设计一种描述语言的时候,你会对如何去构造、解析和解释一种语言会更加得心应手。甚至看待生活中的语言也会有全新的视角。

一个非科班出生的程序员,随着编程技能的精进,解决问题的深度和难度增加,肯定也会逐渐涉及到计算机核心课程中的东西,比如操作系统,高级的数据结构、编译原理等。这个时候其实所谓的非科班,在我看来已经是科班了,不过是闻道有先后而已。

关于学历:

名校背景找工作必然是加分的,在短时间内考察一个人,教育背景是对一个人学习能力和潜力的一个很重要的背书。

中下游211的非CS专业,对于稍好的公司来说,你在学历这个因素是略减分的。但这只是一个因素而已,技术热情、算法基础、编程语言的深入程度、实际项目经验这些方面做好,加权一下综合得分就上来了。从培训机构、专科到名校CS毕业生,拿到好Offer的人都有。

说到学历问题,我们来说深入一点。其实所谓的“综合得分”是一种最理性的判断。但是面试官往往很难做出综合的判断,甚至有唯学历论者,这不能全怪面试官,而是人的一个基本特质所决定的。

一个英国哲学家曾经说过:文明的进步就是人们在不假思索中可以做的事情越来越多。人的行为常常会被一些很局部的特征所触发,而这种触发很多情况下自己是意识不到的。这是社会心理学经典著作《影响力》的一个核心观点。拿动物来举例子,火鸡正常情况下会攻击臭鼬,但是一个能够发出小火鸡“叽叽”声的玩具臭鼬,却会让火鸡妈妈将其揽入怀中。

所以学历很多时候就是这样的“叽叽”声,在一部分面试官的眼里不自觉地就已经基于学历做了一个判断,“综合得分”可能并不起太大作用,而他们自己甚至没有意识到这一点。

我也看到过“唯算法”论者,我一个同学曾经遇到一个某知名顶级互联网企业的面试官,热衷考面试者算法难题,在一个很生僻的数据结构(即使ACM竞赛中也几乎不会出现)上纠缠很久,这个同学最后没有写出来被拒了。这个同学是一个综合实力非常强的人,即使算法上也是竞赛级的水平,但是碰到这样的“火鸡”也无奈之。他现在在另一家同级别的北美公司工作,这样的面试官毕竟少数,也不要太担心。

可能的解释是:这类面试官的经历让他们潜意识中对“学历”和“算法”有了较深的体会,甚至成为一种情结,在某些场景下就会成为一个极强的局部触发特征而影响他们的行为。

为什么我给你的战略里,提到了可以从“技术热情与好奇心”来突破呢? 其实也是对这样一种原理的应用。如果在面试过程中体现出来你热爱技术,喜欢尝试,涉猎广泛,往往容易成为一个触动面试官的特征。也举个例子,我一个师弟是个Java程序员,去面一家国内应届生薪资水平可能是最高的一个公司。面完后我问他情况,各种技术问题(更多C++方面的)他答得很惨,但是说完不久就被通知录用了。我要是面试官也是一定会录取他的。因为从本科开始他就折腾各种项目,你跟他聊天就看得出来是有很大编程热情的人,这样的人一定可以胜任任何技术工作。(他的竞争对手几乎是同级别教育背景,所以学历这项在这里不构成很大的优势)对,写到这我想到了Geek这个词,你应该让自己更Geek一些。不是留个长头发就Geek了,Geek体现在你Github账号的行为记录上,体现在你对各种技术的尝试经历中。

扯远了,最后再说一点。

关于第一份工作

IT行业第一份工作即使不是特别满意,也不用太担心,积极努力总能达到目标的。继续举例子吧,亲朋好友搞IT的也无数,最不缺的就是例子:

  • A,专科学校,第一份工作月薪3K,做ActionScript开发,一年后跳槽页游公司,两年之后月薪已经到20K。

  • B,普通院校毕业,第一份工作在一个国企性质类的软件公司,Java开发,月薪5K,两年后跳到IBM。

  • C,普通学校,第一份工作非IT,某培训机构学习半年,iOS开发,入职顺丰,月薪10K+。

ABC有一个相同的特点就是有上进心。其实有技术热情,愿意沉下心来学习,普通资质的人工作几年之后,跳到不错的公司工作也是问题不大的。大一点说,各个行业也都是如此,CS转去做其他行业的也都有很多做的很好的例子。很多事情也都是分层跨越,不是一蹴而就的,步子大容易扯着蛋,这也是积跬步的力量。比如先找到实习,正式工作就有一半着落了;比如本科没考上名校,可能研究生就考上了;毕业没有进入BAT,小公司努力锻炼几年你就追赶上BAT的伙伴们了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/328508.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[MySQL] 二进制的应用场景

前言 MySQL 是一种常用的关系型数据库管理系统,广泛应用于各种软件和网站开发中。在 MySQL 中,数据以二进制文件的形式存储在硬盘上。这些二进制文件不仅可以提供数据的持久化存储,还可以在不同的应用场景中发挥重要作用。本文将介绍 MySQL …

各种面试题(二)

转载自 各种面试题(二)1、面向对象的特征有哪些方面? 封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。 多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应。简单的说就是用同样的对象…

亚马逊如何变成 SOA(面向服务的架构)?

上一篇文章,我摘录了《程序员的呐喊》。这本书有趣的内容太多,今天再摘录一段。 1、 亚马逊公司不仅是世界最大的网络书店,还是世界最大的云服务商。它是怎么实现从电商到云商的转变呢? 一切都是CEO杰夫贝索斯促成的,他…

新闻发布项目——业务逻辑层(commentService)

package bdqn.newsManageServlet.Service;import java.util.List;import bdqn.newsManageServlet.Dao.commentDao; import bdqn.newsManageServlet.Dao.Impl.commentDaoImpl; import bdqn.newsManageServlet.entity.comment;/*** 新闻评论的业务逻辑层* author Administrator**…

linux 安装mysql 8.0_Linux安装mysql 8.0的详细方法介绍(代码示例)

本篇文章给大家带来的内容是关于Linux安装mysql 8.0的详细方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。经过一番努力下载mysql文件,我们可以开始Mysql8.0的安装了。解压文件// 解压文件生成…

亚信科技笔试面试2019届

首先笔试 笔试超级难 jsp 数据库 java 很多要百度 记得多找几个小伙伴哦~ 面试 一面: 技术面 讲一下你的项目 根据你的项目提问 面试官: 有哪些排序算法 我:冒泡 面试官: 只有一个冒泡? 我: 还有选择吧(我怕手写 &am…

Xamarin支持微软HoloLens混合现实开发

今年年初,微软以4亿美元的价格收购移动开发工具Xamarin,Xamarin允许开发者编写跨平台应用,提供Android、iOS和Windows10上原生应用体验。微软收购Xamarin后,Xamarin变得更加开放,比如Visual Studio用户免费使用&#x…

mysql fpmmm_zabbix配fpmmm(mpm)数据传送不了问题解决

我们环境用zabbix mpm来监控mysql,不过最近官网已经不叫mpm了,而是叫fpmmm,理由为:fpmmm is the successor of mpm. mpm was renamed to fpmmm because of the naming conflict with the Apache Multi-Processing Modules (MPM).好…

各种面试题(一)

转载自 各种面试题(一)1.说说你对缓存的理解? 1.使用缓存的目的: 提高应用程序的性能,减少到数据库的访问次数 2.缓存的介质(缓存的存储位置) 内存:临时性存储空间 存取数据快 减少网络通信量 硬盘&#…

浙大中控笔试面试2019届

学校招聘会投递简历 过了几天 叫我去滨江面试 先笔试 没人监考 (但是面试的时候会抽几道笔试题问你) 面试官是三个 吓尿了 面试官: 我: 面试官: JDBC会吗 讲一下 我: DriverManager获取连接对象..…

新闻发布项目——业务逻辑层(categoryTBService)

package bdqn.newsManageServlet.Service;import java.util.List;import bdqn.newsManageServlet.entity.categoryTB; import bdqn.newsManageServlet.entity.newsTb;/*** 新闻类别的业务逻辑层的接口* author Administrator**/ public interface categoryTBService {// 删除,根…

python初学函数_Python初学者速收藏!面向Python初学者的知识-函数

什么是函数式编程?函数式编程是一种编码范例,其中我们定义要做什么而不是执行什么动作。这个想法最初是从数学中采用的,我们定义输入到函数中的输入以及我们期望从中获得的输出。 函数式编程很少依赖状态管理-这意味着无论输出多少&#xff0…

通用业务流水号功能设计

有一段时间没有思考代码相关的工作了,最近项目经常碰到不同业务流水号的生成,下面的技术人员每次都针对流水号生成写一些复杂的代码;为了解放以后这方面的工作于是动了一下脑子想一个动态可配置的流水号生产组件,虽然没写代码一段…

时代银通笔试20181023

Java4种访问控制符 Java中的四个访问控制符权限从高到低分别为private、protected、包访问权限和private。访问控制符属于类所有,所以在方法中不能使用访问控制符修饰。访问控制符只能修饰类中的成员变量、成员方法和类本身。 1、private 修饰的成员变量&#xff…

总结Java常见面试题和答案

转载自 总结Java常见面试题和答案 int和Integer有什么区别? 答:int是java的原始数据类型,Integer是java为int提供的封装类,java为每个原始数据类型都提供了封装类。String和StringBuffer的区别? 答:String是不可变的对象&…

ubuntu 13.04 mysql_Ubuntu13.04 下MySQL5.6安装过程

1.mysql下载:按照自己系统选择 http://www.mysql.com/downloads/installer/2.mysql依赖包安装 (libaio1.so) 若已安装可以省略:sudo apt-get install libaio1sudo apt-get install cmake libncurses5-dev bison g (可不选,有问题时再执行)3.组及用户创建:sudo gro…

Exceptionless 本地部署

前两天看到了这篇文章免费开源分布式系统日志收集框架 Exceptionless,亲身体会了下,确实不错,按照官方的文档试了试本地部署,折腾一番后终于成功,记下心得在此,不敢独享。 本地部署官方wiki .NET 4.6.1 这个…

java文件读写

java.io几种读写文件的方式 一、Java把这些不同来源和目标的数据都统一抽象为数据流。 Java语言的输入输出功能是十分强大而灵活的。 在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络…

经典笔试编程题--Java实现

转载自 经典笔试编程题--Java实现1.输入一个正数n,输出所有和为n的连续正数序列。 分析:设定两个指针,min指向和为n的连续正数序列的最小值,max指向和为n的连续正数序列最大值。sum表示真正的和。 初始情况下,min、max和sum 都指…

java虚拟机的内存模型_JVM(Java虚拟机)内存模型(转载/整理)

Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。JVM是为Java字节码定义的一种独立于具体平台的规格描述,是Java平台独立性的基础。对于字节码指令集不感兴趣,直接看寄存器。JVM设置了4个最为常用的寄存器。它们是…