最近在找工作,投了一些简历,也参加了一场笔试,有几个公司也提供了笔试题样例。
公司A
投简历以后的个人测评
分为
- 文章阅读提取段意
- 表格阅读数据整理
- 逻辑推理,找规律
- 个性评估
四个部分。印象比较深刻的是逻辑推理最后一道题
如果 C 7 刁 那么叩 9 ?
请问?处最恰当的答案是
A.G ____B.F
C.B ____D.R
没有思路,后来百度也没有解答。铜鱼告诉我说是我想太多了,这是幼儿园的题。实际考的是数圈。C、7、刁,都是没有圈。叩、9都有一个圈。所以答案是D,因为R也有一个圈。
公司B
线下笔试。
考的题目比较基础,都是JAVA的一些概念和具体实现。只记得几道
length()问题
JAVA中数组和String,分别有length()函数吗?
数组长度用length,是属性。数组定义的时候其实长度已经固定
string可用length(),是方法。
引申疑问:size()呢?
答:List,Set,Map都可以用size(),表示泛型中元素个数
参考资料《Java中的length和length()深入分析》
代码结果推断
public class TmpClass{
private int a = 0;
private Integer b = 0;
private String c = "Good";
public void method(int a, Integer b, String c){
a = 10;
b = 5;
c = "Bad";
}
}
TmpClass tc = new TmpClass();
tc.method(1, 1, "Word");
试问此时实例化对象tc中a,b,c的值分别是多少?
仍然是0,0,和Good。
原因是在函数method中,存在参数a,b,c。
因此赋值操作实际上修改的是参数的取值。而属性中的a,b,c没被修改。
如果参数名与a,b,c不同,则才可视作省略了this.的对属性赋值语句。
List,Set,Map,Queue区别
Set相当于集合,集合中对象无序,且没有重复对象
List是列表,对象有序(存放进入时的顺序),可以有重复对象
Map是映射,把键值和值捉对映射。
Queue是队列,使用offer()和pull()来先进先出
参考资料1《Java中Set,List,Map的区别》
参考资料2《java集合--Queue用法》
数据库的关系完整性
- 实体完整性:主键的值不可为空值
- 参照完整性:当外键是其他表的主键时,外键只能为空或对应主键的值。不能引用不存在的实体
- 用户定义完整性(域完整性):数据字段具有约束条件。如性别类约束为“男”或“女”。百分制成绩约束为0≤成绩≤100
JSP相关
JSP包含哪些元素?
- JSP指令元素
- JSP脚本元素
- JSP动作元素
- 注释
HTTP相关
HTTP协议是什么?
超文本传输协议,是互联网上应用最为广泛的网络协议,所有WWW文件都必须遵守这个标准。是客户端和服务器端请求和应答的标准。
计算机概念题
一个float变量占多少字节?一个double变量占多少字节?
变量名 | 位 | 字节 |
---|---|---|
boolean | 8 | 1 |
int | 32 | 4 |
float | 32 | 4 |
double | 64 | 8 |
char | 16 | 2 |
byte | 8 | 1 |
short | 16 | 2 |
long | 64 | 8 |
多线程实现
有一个100的队列,编写程序实现:两个生产者,每3秒生产一个零件。一个消费者,每2秒拿走一个零件。
wait()与notify()实现
public class PublicBox{
private int parts = 0;
private int count = 1;
public synchronized void increace(){
对方法上锁保证同时只增加一个零件
while (parts == 100){
try{
wait();
}catch (InterruptedException e){
e.printStackTrace();
}
}
parts++;
notify();
}
public int decreace(){
while(parts == 0){
try{
wait();
}catch (InterruptedException e){
e.printStackTrace();
}
}
parts--;
notify();
return this.count++;
}
}
生产者
public class Producer implements Runnable{
private PublicBox box;
public Producer(PublicBox box){
this.box = box;
}
@Override
public void run(){
while(true){
try{
Thread.sleep(3000);
box.increace();
}catch(InterruptException e){
e.printStackTrace();
}
}
}
}
消费者
public class Consumer implements Runnable{
private PublicBox box;
public Consumer(PublicBox box){
this.box = box;
}
@Override
public void run(){
while(true){
int count = box.decreace();
System.out.println("Consume the No." + count);
}
}
}
参考资料《java 多线程并发之生产者消费者模式的两种实现》
公司C
笔试题模拟题,这个可以复制所以非常的全乎
JVM相关
以下哪个不属于JVM堆内存中的区域( )?
A 常量池
B old区
C eden区
D survivor区
A常量池,常量池在方法区里面
重载
对于Java同一类中的两个方法,在判断它们是不是重载方法时,不考虑( )。
A 返回值类型
B 参数个数
C 参数顺序
D 参数类型
这里涉及到了另一个问题
我们经常能看到方法上面出现@Override,那么这是什么意思呢?
重载:方法名一样,但是参数个数或类型不同,返回值类型可以相同也可以不同。无法以返回值类型作为判断标准
覆写(重写):子类中方法与父类中方法有同样的方法名、返回类型和参数表,则新方法覆盖原有方法。
@Override的作用就是,当你要覆写某个方法的时候,提前写上,如果你手滑没有覆写成功(比如变成重载了),他就会报错提示。
参考资料《Java @Override的作用》
语言基础
数学表达式|x|<10 对应的Java表达式为( )。
A x < 10 && x > -10
B |x| < 10
C x < 10 || x > -10
D 10 > x > -10
A 没啥好说的
操作系统
虚拟存储器是由操作系统提供的一个假想的特大存储器,它并不是实际的内存,其大小可比内存空间大得多。这种说法是否正确( )。
A 正确
B 错误
A 用来快乐映射到外部存储器用的
Windows
Windows消息调度机制是( )。
A 指令堆栈
B 消息队列
C 指令队列
D 消息堆栈
B 按一定优先级顺序处理(并不一定都是先进先处理)
参考资料 《windows消息机制》
数据结构
二维数组和多维数组均不是特殊的线性结构。这种说法是否正确( )
A 正确
B 错误
B 其实我不知道这个特殊指的是什么。百度到的大多是作为数据结构考试题出现,但是也没有解析。
个人认为其实指的是多维数组是存储多个一维数组的特殊一维数组
Python定义
对Python函数式编程思想的理解中,不正确的是( )。
A 函数式编程中,变量不可以指向函数
B 高阶函数可以接收入另一个函数作为其输入参数
C 函数式编程是一种结构化编程范式,是如何编写程序的方法论
D 函数是第一等公民first class,是指它享有与变量同等的地位
A 函数式编程中,函数和其他变量在同等地位,可以赋值给其他变量,也可以当做参数传入函数。
参考资料《函数式编程思想:稍微接触篇》
Python实际使用
python正则中的^符号,用在一对中括号中则表示要匹配( )。
A 字符串的开始
B 字符串的结束
C 仅中括号内含有的字符
D 除中括号内的其它字符
D 在中括号里表示非,如果没有中括号,表示匹配的字符串的开始
SHELL语句
在RHEL5系统中,小王希望将他执行的ls命令的输出结果保存在当前目录下文件output.ls中,以供日后进行分析和使用,但要求不覆盖原文件的内容,他应该使用的命令是( )。
A ls—output.ls
B ls<<output.ls
C ls>output.ls
D ls>>output.ls
D >> 输出重定向,追加
> 输出重定向,覆盖
J2EE
J2EE中,当把来自客户机的HTTP请求委托给servlet时,会调用HttpServlet的什么方法?
- Web客户向Servlet容器发出Http请求
- Servlet容器解析Web客户的Http请求
- Servlet容器创建一个HttpRequest对象,在对象中封装Http请求信息
- Servlet容器创建一个HttpResponse对象
- Servlet容器调用HttpServlet的service方法,这个方法根据request的Method来判断执行doGet还是doPost,把HttpRequest和HttpReponse对象作为service方法的参数传给HttpServlet对象。。
- HttpServlet调用HttpRequest的有关方法,获取HTTP请求信息
- HttpServlet调用HttpResponse的有关方法,生成响应数据
- Servlet容器把HttpServlet响应结果传给Web客户
参考资料《牛客网原题 其他用户解答》
网友评论