货拉拉2018秋招java工程师笔试题卷一(B)

时长:120分钟 总分:100分

121浏览 0人已完成答题

题型介绍
题型 单选题 多选题 判断题 简答题
数量 9 1 5 3
1.
一群人开舞会,每人头上都戴着一顶帽子。帽子只有黑白两种,黑的至少有一顶。每...
问题详情

一群人开舞会,每人头上都戴着一顶帽子。帽子只有黑白两种,黑的至少有一顶。每个人都能看到其它人帽子的颜色,却看不到自己的。主持人先让大家看看别人头上戴的是什幺帽子,然后关灯,如果有人认为自己戴的是黑帽子,就打自己一个耳光。第一次关灯,没有声音。于是再开灯,大家再看一遍,关灯时仍然鸦雀无声。一直到第四次关灯,才有劈劈啪啪打耳光的声音响起。请问有多少人戴着黑帽子?()

2.
有两个线程,最初n=0,一个线程执行 n++ n++ 另一个执行 n+...
问题详情

有两个线程,最初n=0,一个线程执行 n++ n++ 另一个执行 n+=2 问,最后可能的 n 值?()

3.
列举3个Object类中的方法:[$##$]、[$##$]、[$##$]。
问题详情

列举3个Object类中的方法:()、()、()。

4.
假设菜单树形数据在MySQL中是以记录pid(父级菜单主键)形式存储, 请...
问题详情

假设菜单树形数据在MySQL中是以记录pid(父级菜单主键)形式存储, 请实现getMenuTree方法。
public class Menu {
    private int id // 主键,菜单id
    private String name // 菜单名称
    private int pid // 菜单父id,根节点pid=0
    private List<Menu> children // 下级菜单
    // 省略set、get等方法。
}
public Menu getMenuTree(List<Menu> menuList) {
  // TODO
  return rootMenu
}

要求如下:

1. 要有清晰的代码。

getMenuTree方法最优时间复杂度为0(n)。


5.
试写出Map接口的简单实现,接口定义如下: public inter...
问题详情

试写出Map接口的简单实现,接口定义如下:
public interface Map<K,V> {
  V get(Object key)
  V put(K key, V value)
}
要求如下:
1. 要有清晰的数据结构。
2. get()、put()方法是时间复杂度最优为O(1),最坏情况O(n)。
3. 不使用第三方库和 java.util.Map 接口下的实现类

6.
以下对于抽象类和接口的描述哪个是错误的()
问题详情




7.
下列关于修饰符混用的说法,错误的是()
问题详情




8.
以下Java程序运行的结果是: () public class Tes...
问题详情

以下Java程序运行的结果是: ()
public class Tester{
public static void main(String[] args){
   Integer var1=new Integer(1)
   Integer var2=var1
   doSomething(var2)
   System.out.print(var1.intValue())
   System.out.print(var1==var2)
}
public static void doSomething(Integer integer){
    integer=new Integer(2)
  }
}





9.
以下关于异常的描述错误的是()
问题详情




10.
多线程中栈与堆是公有的还是私有的()
问题详情




11.
下面的描述哪一个是正确的()
问题详情




12.
找出以下关于float的不正确的声明()
问题详情




13.
已知一棵二叉树的前序遍历为CABEFDHG,中序遍历为BAFECHD
问题详情




14.
某公司有数据库,其中有一个表包含几十万个数据,但用户报怨说查询速度太慢,下...
问题详情

某公司有数据库,其中有一个表包含几十万个数据,但用户报怨说查询速度太慢,下面哪种方法能提高的查询速度?()





15.
关于线程的特点,描述不正确的是()
问题详情




16.
如果一个方法被修饰为[$##$]方法,则这个方法不能被重写。
问题详情

如果一个方法被修饰为()方法,则这个方法不能被重写。

17.
优先级高的线程可以在它的run方法中调用 [$##$]方法来使自己放弃处理...
问题详情

优先级高的线程可以在它的run方法中调用 ()方法来使自己放弃处理器资源,休眠一段时间。

18.
1.&nbsp货拉拉有下单砸金蛋的活动,每个用户(user)下装修订单的...
问题详情

1. 货拉拉有下单砸金蛋的活动,每个用户(user)下装修订单的金额达到n就可以获得三只金蛋(age),砸金蛋得奖励,同时获得与订单金额等额的积分(point)。 请设计一套java接口并实现下单(order)逻辑。 参考(但不局限于)下面的下单逻辑: 

1) 创建订单 

2) 扣减金蛋库存

3) 增加用户积分 

4) 下单成功 

同时请回答: 

1) 数据库表结构如何设计,有哪些表,分别有什么作用? 

2) 下单过程中哪些地方可能成为瓶颈?如何解决或改善? 

3) 是否会用到数据库事务,哪些地方会用到?如果不用数据库事务,如何保证数据的一致性?