链家2018秋招Java笔试题分享
前两天在讨论区看到牛友分享自己的秋招笔试试题,我也想来分享一下自己做过的链家的试题,题量不小哦~
单选题
1、在Java中下列关于自动类型转换说法正确的是( )。
A. 基本数据类型和String相加结果一定是字符串型
B. char类型和int类型相加结果一定是字符
C. double类型可以自动转换成int
A. 类定义时
B. 创建对象时
C. 调用对象方法时
D. 使用对象变量时
3、执行下面Java代码结果是( )
for(int i = 0;;){
System.out.println(“这是”+i);
break;
}
A. 语法错误,缺少表达式2和表达式3
B. 输出:这是0
C. 死循环
D. 程序什么都不输出
4、有如下Java程序段:
int total = 0;
for (int i=0; i
{
if(i==1) continue;
if(i==2) break;
total +=i;
}
则执行完该程序段后total的值为:( )
A. 0
B. 1
C. 3
D. 6
5、在C++中用( )能够实现将参数值带回。
A. 数组
B. 指针
C. 引用
D. 上述ABC都可
6、以下php代码的执行结果为( )。
$num =”32php”+8;
echo $num;
?>
A. 32php8
B. 32php
C. 40
D. 40php
7、mysql_connect()与@mysql_connect()的区别是( )
A. @mysql_connect()不会忽略错误,将错误显示到客户端
B. mysql_connect()不会忽略错误,将错误显示到客户端
C. 没有区别
D. 功能不同的两个函数
8、在面向对象软件开发方法中,一个对象一般由( )组成。
A. 名称、消息、函数
B. 名称、属性、实例
C. 对象名、属性、消息
D. 对象名、属性、方法
9、下面有两个Java类的定义:
class Person{
long id;
String name;
}
class Student extends Person{
int score;
int getScore(){
return score;
}
}
请问类Person和类Student的关系是( )
A. 包含关系
B. 继承关系
C. 关联关系
D. 无关系,上述类定义有语法错误
10、下面这段php代码的执行结果为( )
$arr=array(3 , 2, 5 , 4);
functionmanageArr($arr){
$n=count($arr);
for($i=0;$i
for($j=$i+1;$j
if($arr[$j]
$temp=$arr[$i];
$arr[$i]=$arr[$j];
$arr[$j]=$temp;
}
}
}
return $arr;
}
$arr = manageArr($arr);
var_dump($arr);
?>
A. array(4) { [0]=>int(3) [1]=>int(2) [2]=>int(5) [3]=>int(4) }
B. array(4) { [0]=>int(4) [1]=>int(3) [2]=>int(2) [3]=>int(5) }
C. array(4) { [0]=>int(5) [1]=>int(3) [2]=>int(4) [3]=>int(2) }
D. array(4) { [0]=>int(2) [1]=>int(3) [2]=>int(4) [3]=>int(5) }
11、结构化程序设计所规定的三种基本控制结构是?( )
A. 输入、处理、输出
B. 顺序、选择、循环
C. 树形、网形、环形
D. 主程序、子程序、函数
12、PHP中向数组头部插入元素使用( )函数。
A. array_push()
B. array_pop()
C. array_shift()
D. array_unshift()
13、#define F(x , y) (x)*(y)
main()
{
int a=3, b=4;
printf(“%d\n”,F(a++,b++));
}
程序运行后的输出结果是( )
A. 12
B. 15
C. 16
D. 20
14、mysql_affected_rows对哪个操作没有影响?( )
A. delete
B. update
C. select
D. Insert
15、若要删除数据库中已经存在的表T,需要用( )。
A. DELETE TABLE T
B. DELETE T
C. DROP TABLE T
D. DROP T
16、PHP中下面哪个函数可以打开文件或者URL?( )
A. file_open()
B. forpen()
C. open_file()
D. fget()
17、给出下面Java代码,关于该程序以下哪个说法是正确的?( )
public class Person{
static int arr[]= new int[5];
public static void main(String a[]){
System.out.println(arr[0]);
}
}
A. 编译时将产生错误
B. 编译时正确,运行时将产生错误
C. 输出零
D. 输出空
18、下列说法正确的是( )。
A. class中的constructor不可省略
B. constructor必须与class同名,但方法不能与class同名
C. constructor在一个对象被new时执行
D. 一个class只能定义一个constructor
“constructor必须与class同名,但方法不能与class同名”这句话是错误的,方法是可以和class同名的;
方法可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。
19、分析选项中关于Java中this关键字的说法正确的是( )。
A. this关键字是在对象内部指代自身的引用
B. this关键字可以在类中的任何位置使用
C. this关键字和类关联,而不是和特定的对象关联
D. 同一个类的不同对象共用一个this
20、Java编程所必须的默认引用包是( )。
A. java.sys包
B. java.lang包
C. java.new包
D. 以上都不是
参考答案:B
编程题
试题描述:小明喜欢在火车旅行的时候用手机听音乐,他有N首歌在手机里,在整个火车途中,他可以听P首歌,所以他想产生一个播放表产生P首歌曲,这个播放表的原则是:
(1)每首歌都要至少被播放一次
(2)在两首一样的歌中间,至少有N首其他的歌
小明想有多少种不同的播放表可以产生,那么给你N、M、P,你来算一下,输出结果取1000000007的余数。
输入:输入N、M、P N的范围1到100 M的范围0到 N P的范围在N到100
输出:输出结果mod 1000000007的余数
输入示例:
1 0 3
输出示例:
1
玥玥带乔乔一起逃亡,现在有许多的东西要放到乔乔的包里面,但是包的大小有限,所以我们只能够在里面放入非常重要的物品。现在给出该种物品的数量、体积、价值的数值,希望你能够算出怎样能使背包的价值最大的组合方式,并且输出这个数值,乔乔会非常感谢你。
对于30%的数据 1
1
输入
第1行有2个整数,物品种数n和背包装载体积v;
第2行到i+1行每行3个整数,为第i种物品的数量m、体积w、价值s。
输出
仅包含一个整数,即为能拿到的最大的物品价值总和。
样例说明:选第一种一个,第二种两个,结果为3x1+5x2=13。
输入示例:
2 10
3 4 3
2 2 5
输出示例:
13
小明有n(1≤2000)个美味的食物,他想卖掉它们来赚钱。这些食物放在一些箱子里,它们有些有趣的特性:
(1)这些食物被编号1~n,每一天小明可以从这排箱子的头部或者尾部取出食物去卖;
(2)这些食物放的越久,年龄越大,价值越大,食物i有一个初始的价值V(i);
(3)放了a天后,年龄为a,食物最终价值为V(i)xa。
给定每一个食物的初始价值V(i),请求出小明卖掉它们后可以获得的最大价值,第一天出售的食物年龄为1,此后每增加一天食物的年龄就加1。
提示:
样例说明:小明出售这些食物(初始价值1,3,1,5,2)的顺序为:第一天卖掉1个,第二天卖掉5个,第三天卖掉2个,第四天卖掉3个,第五天卖掉4个,获得最大的价值1x1+2x3+3x3+4x1+5x5=43。
输入
第1行:一个整数n;
第i+l行:每行食物i的初始价值V(i)。
输出
1行:小明最终可以获得的最大价值。
输入示例:
5
1
3
1
5
2
输出示例:
43
#春招##笔试题目##秋招##Java#