Java开发程序员该如何应对公司的笔试题?
谢谢邀请!
虽然现在很多科技公司已经取消了主力程序员的面试题,但是不少公司并没有取消初级程序员的笔试题,因为笔试题能够考察出一个初级程序员的知识结构,对于项目经验比较少甚至是没有项目经验的初级程序员来说,笔试是公司考察一个初级程序员能力的基本依据。所以,很多笔试成绩是初级程序员进入下一个环节的重要基础。
对于初级程序员来说,笔试都考察什么知识呢?其实大部分笔试的考试内容都是非常基础的内容,比如Java初级程序员的笔试题往往就是考察对Java基础概念的理解是否清晰,是否掌握基本的语法,能否建立起面向对象的编程思维等等,看一个简单的题目:
这个程序在语法上有没有问题呢?这个题目考察的是Java程序员对“接口可以多扩展”这个概念的掌握,这个程序是没有语法问题的。再看一个例子:
这个例子输出的结果是多少呢?输出的结果是322,这个例子考察的是对集合概念的理解,尤其是对Set应用的理解。再看一个例子:
这个例子的运行结果是什么呢?答案是程序在运行中会抛出异常,这个例子考察的是对TreeSet概念的掌握。再看一个例子:
这个例子考察的是对内部类的理解,包括静态内部类,要想完成这个例子需要了解三方面知识,第一是内部类,第二是static内部类,第三是多态,这个程序是无法编译通过的,原因在于创建static内部类对象的过程不能采用基于外部类对象创建的方式。
通过以上四个例子我们会发现,其实这些题目并不复杂,但是却非常考验初级程序员对基础概念的掌握情况,如果对基础概念掌握的比较清晰就很容易能够完成,如果掌握的不够全面,那么这些看似简单的题目也无法完成。所以说,在参加笔试之前,一定要把这些基本的概念搞清楚。
最后给大家留一道题,看看你能不能回答出正确的答案(开启和不开启断言两种情况分别描述):
大家在评论区写出你的答案和理由吧。
我使用Java语言多年,我在头条上也写了关于学习Java的系列文章,想学习Java的朋友可以关注我,相信一定会有所收获。
如果有Java开发方面的问题,也可以咨询我。
谢谢!
谢谢邀请!对于如何应对公司的笔试题,有两种应对方式。
第一种情况,对于你会的题目。你要一张草稿纸,把代码写好,然后抄到答卷上。有两个好处:一梳理思路,二,卷面整洁。
第二种情况,对于不会的题目。百度呀,抄答案上去。过年前我就遇到一个让写代码,打印杨辉三角的问题,就是这么干的。
零基础怎样成为程序员?
我有一个朋友还是很厉害的,他本科大一读的是英语专业,大二转专业读的是新闻学专业,现在就职于某一线大厂。可以说,他是真正的非科班出身的程序员。
1. 先专注学习某一个方向,能靠这个技能养家糊口,找到一份工作,为学习其他的计算机知识争取时间,从而成为一个专业的程序员。比如说,你如果对前端感兴趣,就弄明白js的原型链,es6的新特性,找一家公司实习。如果你要成为一个专业的程序员,千万不要过早设定自己的方向,因为专业的程序员都是能够把很多个方向做的很牛逼,其中有一两个方向超级牛逼。创造windows的dave cutler今年都70岁了,20年前4、50岁了才刚刚开始写winnt,人家在30岁之前都还不太懂怎么写代码,所以不要着急。
2. 当你找到工作之后,应该学习的内容包括但不仅限于:
• 计算机图形学
• 编译原理
• 操作系统的基础知识
• 分布式系统的架构
• 对你的代码进行靠谱的自动化测试
• 学会写framework和library,不要一味地写application
你可能会问为什么要学习计算机基础知识,其实对于程序员来说,计算机的基础知识还是重要的,如果计算机基础知识不牢固,很有可能会遇到下面的尴尬境地:
1. 35岁以后普通码农会被老板清退,所以要尽可能的要向公司的高层发展,而技术主管要求你需要有过硬的计算机基础。
2. 未来人工智能会取代初中级程序员。比如说,今年双十一阿里的自动切图机器人。
3. 技术发展太快,如果你只会用框架的话,充其量只是外功,如果内功(计算机基础)不行,则疲于应付,被年轻的程序员代替。
4. 学习计算机专业知识,本身就可以获得幸福感
一名合格的程序员虽然收入不错,但是工作很辛苦,还容易掉头发。你真的想当程序员?
好吧,既然你这么坚决,那么就先来看看程序员需要什么技能,然后再看看怎样才能获得这些能力。
首先,程序员要会写程序。这看起来像句废话,但是却是基础。
写程序的根本在于,把要解决的现实问题抽象成数学或者逻辑问题,然后再用程序语言实现。这里有两个步骤:先是把问题抽象出来,然后再写成程序代码。
第一个步骤需要逻辑能力和数学能力,这些和计算机完全无关;
第二个步骤需要掌握一门或者几门程序语言,目前企业内比较流行的有C#、Java、Python、Ruby等。当然,要是算上前端的话,可能还有HTML5、CSS3和常见的脚本语言等。
那么,要怎么才能获得这些能力呢?无非是学和练。
在这里,有一个常见误区,就是觉得自己应该先学一些什么才能开始做东西。但是,在实战中练习是最好的学习。碰到问题解决问题,兵来将挡水来土掩,解决不了问题就去问Google或者stackoverflow,是最好的学习方式。这还需要一些英语能力。
所以,程序员起步的方法,是先保证自己饿不死的前提下,挑选一门编程语言,买一本类似《笨办法学Python》的教材,安装所需要的环境,一步一步跟着做,碰到问题就去问Google。
然后,尝试解决自己想要解决的问题,碰到问题就先尝试自己解决,若是解决不了再去去Google、github或者stackoverflow上面找,看看有没有答案。
成为一名程序员没有什么其他捷径,无非就是学习、练习、解决问题,然后再来一个循环。

