思特奇2019校招笔试题
这里仅记录自己不会的哦,有需要的可以参考下哦
1Java接口的修饰符可以为(d)
A.private B.proected C.final D.abstarct
有这道题,我又重新理解了一下接口
接口用于描述系统对外提供的所有服务,因此接口中的成员常量和方法都必须是公开(public)类型的,确保外部使用者能访问它们;
接口仅仅描述系统能做什么,但不指明如何去做,所以接口中的方法都是抽象(abstract)方法;
接口不涉及和任何具体实例相关的细节,因此接口没有构造方法,不能被实例化,没有实例变量,只有静态(static)变量;
接口的中的变量是所有实现类共有的,既然共有,肯定是不变的东西,因为变化的东西也不能够算共有。所以变量是不可变(final)类型,也就是常量了。
public abstract interface A{
public static final int name="xx";
public abstract void output(){}
}
java8接口新特性,我怕是落伍了
package JianZhiOffer;public interface SiTeQI {public static void say(){}public static void main(String []args){}public default void dance(){}
}
今天我本来想在普通的类中去写一个main函数,可是弄巧成拙居然在刚刚定义的接口里写上了,然后奇怪的是,我发现竟然没有
报错?接口居然允许有方法体?后来上网查了一下,才觉得自己落伍了!
Java8比起以前的版本存在很大的变化,我们知道在之前的版本中接口只能是定义抽象的方法,是不能定义实现的,但是在java8环境下,这个不可能已经变得可能。下面我们通过例子一步一步的来讲解下java8的用法。
在接口中可以定义实现的方法体是java8的一大特性,可以定义多个静态或者默认的方法,静态必须加上static,默认方法必须加上default关键字。
此外,值得注意的是:面向对象中,java只是支持单继承,不支持多继承,一个类只能继承一个类,
(1)如果多个接口定义了同样的静态方法,
即使存在实现类,同时实现多个接口,仍然是不可使用实现类名调用接口的方法
(2)如果多个接口定义了同样的默认方法
实现类实现多个接口时,必须重写掉默认方法,否则编译失败。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
2.要想在你的视图上成功的执行查询需要做什么?(B)
A.只能在基础表中有select权限 B.在视图中需要有select权限
C. 基础表中必须有数据 D.基础表必须在同一个 用户模式中
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
以下【b】定义能正常编译通过。
A.boolean f=1 B.boolean f=true
C.int k=028 D.char c="a"
解释一下c选项吧,我们知道高级语言默认8进制以0开头,16进制以0x开头,
然而这里的028请你擦亮眼睛,他可不是8进制,谁家8进制还有8?在这种情况下编译器认为他是10进制,然而10进制是不允许被这么定义的,java编译器根本不识别,因此会出现编译错误
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
3子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用,他说的对吗
不对,只能直接调用非私有的方法。如果是private修饰的方法,子类也是不能调用的。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
4关于overload(重载)说不正确的是
A.参数类型、个数、顺序至少有一个不相同。 B.不能重载只有返回值不同的方法名
C.存在于父类和子类、同类中。 D.方法被定义为final不能被重载
A
=-----------------------------------------------------------------------------------------------------------------------------------------------------------------------5.以下声明合法的是(b)
A.default String s B.public final static native int w( )
C. abstract double d D. abstract final double hyperbolicCosine( )
abstract /default不能修饰属性,只能修饰方法,abstract&& final绝对永不到一起 去,不然子类怎么重写父类的方法?
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
6关于overload(重载)说不正确的是(c)
A.参数类型、个数、顺序至少有一个不相同。 B.不能重载只有返回值不同的方法名
C.存在于父类和子类、同类中。 D.方法被定义为final不能被重载
重载不看返回值,看参数,c说的是重写
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
7下面方法中,用于调度线程使其运行的是
A.init(),start() B.start(),run() C. run(),resume() D. resume(),sleep()
Java的线程是通过java.lang.Thread类来实现的。VM启动时会有一个由主方法所定义的线程。可以通过创建Thread的实例来创建新的线程。每个线程都是通过某个特定Thread对象所对应的方法run()来完成其操作的,方法run()称为线程体。通过调用Thread类的start()方法来启动一个线程。
在Java当中,线程通常都有五种状态,创建、就绪、运行、阻塞和死亡:
第一是创建状态new Thread()。在生成线程对象new,并没有调用该对象的start方法,这是线程处于创建状态。
第二是就绪状态start()。当调用了线程对象的start方法之后,该线程就进入了就绪状态,但是此时线程调度程序还没有把该线程设置为当前线程,此时处于就绪状态。在线程运行之后,从等待或者睡眠中回来之后,也会处于就绪状态。
第三是运行状态run()。线程调度程序将处于就绪状态的线程设置为当前线程,此时线程就进入了运行状态,开始运行run函数当中的代码。
第四是阻塞状态sleep()suspend()wait()线程正在运行的时候,被暂停,通常是为了等待某个事件的发生(比如说某项资源就绪)之后再继续运行。sleep,suspend,wait等方法都可以导致线程阻塞。
第五是死亡状态stop()。如果一个线程的run方法执行结束或者调用stop方法后,该线程就会死亡。对于已经死亡的线程,无法再使用start方法令其进入就绪。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
2.下列说法正确的有( bcd)
A. 环境变量可在编译source code时指定
B. 在编译程序时,所能指定的环境变量不包括class path(根本就不能编译source code时指定环境变量)
C. javac一次可同时编译数个Java源文件
D. javac.exe能指定编译结果要置于哪个目录(directory)
环境变量(path/classpath)是你提前设定好的,,,不然你怎么用java javac jvm怎么寻找的类文件啊
任何一门语言的环境变量都是编译前就设置好的,换句话说,你想编译运行这个语言,你的电脑必须先安装这个语言的编译运行程序,对于java这个先编译后解释才能运行的语言,你的电脑上需要有java的编译器和解释器(你可能在想,我没有装啊,实际你装了,只是你不知道自己装的是什么,还记得你学习java时安装的jdk和jre吗,这两个一个是java的编译程序所在的位置,一个是java的解释程序所在的位置),同样对于c语言这个只需要编译就可以运行的家伙,你的电脑上需要有c的编译器gcc,你是安装了的,同样对于c++语言这个只需要编译就可以运行的家伙,你的电脑上需要有c++的编译器g++,你是安装了的,不然这门语言根本无法在此电脑中运行
既然说到了原理上的东西,不如就多说点
(1)高级语言在电脑上直接是不能编译运行的,必须依靠高级语言对应的编译器解释器才能在电脑上直接编译运行,因此我们在使用任何一门高级语言(c/c++/java)都是必须现在自己的电脑上安装编译程序解释程序,这个语言才可以运行
(2)Java的编译程序-javac(将java编译成class中间代码)
Java的解释程序-java(将java的class中间代码翻译成目标语言)
c/c++只有编译程序,.ccp/.c编译之后直接生成目标代码
(3)实际上你自己定义一门语言也没人拦你,但是记得给自己的语言开发一个编译器哦
(4)实际上编译程序解释程序基本都是用c/c++开发的,因为编译器毕竟是个追求速度的东西,
拿java举例,你看一下他的java/javac是什么类型的文件你就知道是用什么语言编写的了
(5)你会发现有的时候那个函数什么的明明就是旧版本的这个语言支持的,某天你将自己的编译器更新了之后你会发现不支持了?
现在用编译原理的知识为大家解答下,任何一门高级语言的更新实质上是因为他的编译器更新了,他的编译器更新了又因为是他想为他的语言加一些新的特性,但是你知道的加一些新的特性必须需要编译器的支持,因此往往我们要选择合适版本的编译器,编译器支持什么样的语法,识别什么样的单词,那么你的语言就是什么样的,如果让我开发语言,我首先会开发一款编译器,你就拿之前更新的java8举例,java又出新的版本了,如果你想体验java8的这种新特性的话,首先你的电脑得支持,那么你就需要安装java8的编译器解释器,否则你的电脑是不支持的
(6)java能一次编译到处运行的原因:
java 运行环境jre里面是有一个java的虚拟机的,java为不同的操作系统安装不同的jvm解释器,jvm解释器负责将统一的class字节码(与操作系统无关)转换为操作系统可以识别的机器码
编译快,解释慢,因此java慢,c快
首先说一下java相关的环境变量有哪些吧:path/ classpath/java_home
1在编译java代码之前必须设置好path环境变量,因为jvm在编译运行的时候需要用到java java命令,
2在编译java代码之前必须设置好classpath环境变量,因为jvm在编译的时候需要依靠classpath来搜索Java代码中设计到的类的所在路径
思特奇2019校招笔试题相关推荐
- 百度2019校招笔试题
百度2019校招笔试题 1. 探险安排 小明要为n个人计划一次火星的探险,其中一个重要的任务是为每个参与者安排食物.仓库里面有m个能用一天的食物包裹,每个食物包裹有不同的类型ai.每个人每天必须用且只 ...
- 美团点评2019校招笔试题——前端开发方向(附答案)
2019年美团点评前端开发岗位校招笔试题目,虽然不是最新的,但面试题万变不离其宗,掌握了想要考察的知识点才是重要的. 1.单选题 点击"计算"按钮后输出结果为( ) A 11.5 ...
- 字节跳动2019校招笔试题(后端开发)一
题目描述 第一题:产品经理转程序员 c++版代码 测试用例可以通过 #include <iostream> #include <string> #include <vec ...
- 快手2019校招笔试题
目的:分别从前面和后面开始找划分点,使得前面的数字之和 = 后面的数字之和 目标表述:sum( 前面m 个数 ) = sum( 后面n个数) s.t. m+n <= N(总个数) 变形:sum[ ...
- 搜狐畅游2019校招笔试题-游戏开发工程师(java)
题目描述: 一组无序的自然数集合,由0,1,2,,,,n的数字和一个的数字X组成,请从集合中找出这个重复的数字X. 例子: 输入:1 2 3 1 4 输出:1 public class Main {p ...
- 巨人网络2019校招笔试题
巨人网络笔试,游戏开发岗位.前面8个选择题,主要考的是基础,里面有一道SQL题.后面两道填空题,都是考的指针.两道问答题,第一个具体是什么,不记得了:第二个是考的Linux,列举常用Linux命令.最 ...
- 深信服笔试题 php,2019深信服校招笔试题------木板接水
2019深信服校招笔试题--木板接水 题目: 空地上竖立着n个从左到右排列的木板,它们可以把水挡住,但溢出最边上木板的水将会流到空地上.已知木板间距都是单位1,现给定每个木板的高度,请求出总共能接住的 ...
- 数据分析真题日刷 | 欢聚时代2018校招笔试题-产品经理/数据分析/游戏运营/市场专员 A卷
今日真题 欢聚时代2018校招笔试题-产品经理/数据分析/游戏运营/市场专员 A卷(来源:牛客网) 题型 客观题:单选5道,不定项选择10道 主观题:问答4道 完成时间 90分钟 牛客网评估难度系数 ...
- 关于python类的继承正确的说法是_2017美团点评的运维岗校招笔试题,测测你会几题?...
原标题:2017美团点评的运维岗校招笔试题,测测你会几题? 1.数据库:以下哪项不是HASH索引的特征? A MySQL不能确定在两个值之间大约有多少行 B 不能使用hash索引来加速ORDER BY ...
最新文章
- SmartAuditor----IT访问审计解决方案
- 如何使用资源和样式调整控件外观
- 蓝桥杯:基础练习 特殊的数字
- 人才市场最吃香四个专业,就业前景好,很容易拿到高薪!
- 解决springboot不扫描@repository的问题
- 【Python】刚刚,Python3.10 正式发布了!终于增加了这个功能...
- 多人聊天室(Java)
- entity-model-first
- 富文本编辑器、日期选择器、软件天堂、防止XSS攻击、字体icon、转pdf
- LDA-Latent Dirichlet Allocation 学习笔记
- html文本改,编辑html格式文本可改成txt格式(可以替换或更换某文本)新手
- Error: listen EADDRINUSE: address already in use :::5000
- Python中threading的join和setDaemon的区别及用法[例子]
- some ubuntu shell commands
- 【java】打印一个序列,第一项和第二项都是1,以后的每一项都是前面两项的和。
- 二分图最大匹配(匈牙利算法) URAL 1721 Two Sides of the Same Coin
- matlab 入门 实验,matlab入门实验.doc
- 3D游戏:七、模型与动画
- Windows下usb接口驱动技术
- 计算机中的文档地址怎么填写,电脑中我的文档属性中没有位置选项如何修改存储位置...
热门文章
- HTC-quietly brilliant(谦和卓越)
- Bear and Big Brother
- 王小波经典语录/名句
- wingdings字体符号在哪_wingding、Wingdings2、wingdings3字体特殊符号和键盘字母相对应位置.doc...
- iOS跑步软件开发-从无到有
- amd锐龙笔记本cpu怎么样_如果你要购买笔记本的话!千万不要现在购买AMD锐龙笔记本!因为...
- 【C语言】PAT乙级:1005 继续(3n+1)猜想
- crypto 抄错的字符
- 移动短信回执怎么开通_发送什么指令到10086开通短信回执?
- docker-compose部署SS