新浪 java试题

  昨天去了新浪网面试,感觉新浪真的挺不错的,工作环境那叫一个好啊。对于一般屌丝的话进到这种公司就可以呆一辈子了。做了面试之后感觉不管大公司还是小公司都还是注重基础和你平时工作的积累的。


所以不能抱怨现在工作不好找,压力大,更应该重自身出发,打好基础才是王道!

 

[java]  view plain  copy
  1. 1、  publicprivate、protect、friendly区别  
  2.   public  
  3. 公共,加上这个修饰的类或属性,可以在同一个包或者别的包里面访问  
  4.   
  5. private  
  6. 私有的,加上这个修饰的类或属性,只能在同类里访问,同包和别的包不能访问  
  7.   
  8. protected  
  9. 保护,加上这个修饰的类或属性,只能在类和同包访问,别的包不能访问  
  10. 如果一个类、类属变量及方法不以这三种修饰符来修饰,它就是friendly类型的,那么包内的任何类都可以访问它,而包外的任何类都不能访问它(包括包外继承了此类的子类),因此,这种类、类属变量及方法对包内的其他类是友好的,开放的,而对包外的其他类是关闭的。  
  11.   
  12. 2、  程序题  
  13.   package com.sina.app;  
  14.   
  15. public class OrderCreator {  
  16.   
  17.     public static Order createOrder(String orderType) throws Exception{  
  18.         Order order = null;  
  19.         if("sales".equals(orderType)){  
  20.             order = new SalesOrder();  
  21.         }else if("channel".equals(orderType)){  
  22.             order = new ChannelOrder();  
  23.         }else{  
  24.             throw new Exception("no suitable");  
  25.         }  
  26.         return order;  
  27.     }  
  28.     public static void main(String[] args) {  
  29.         Order order = null;  
  30.         try {  
  31.             order = OrderCreator.createOrder("sales");------20行  
  32.             System.out.println(order.getDiscount());  
  33.         } catch (Exception e) {  
  34.             System.out.println(e.getMessage());  
  35.         }finally{  
  36.             System.out.println("create " + (order==null?"0":"1")+" order");  
  37.         }  
  38.     }  
  39. }  
  40.   
  41. class Order {  
  42.     private double discount;//应该改为public否则子类不能引用  
  43.     public Order(){  
  44.         System.out.println("an Order will be created");  
  45.     }  
  46.     public double getDiscount(){  
  47.         return discount;  
  48.     }  
  49. }  
  50.   
  51. class ChannelOrder extends Order{  
  52.     public ChannelOrder(){  
  53.         System.out.println("a channelOrder will be created");  
  54.         super.discount = 0.75d;  
  55.     }  
  56. }  
  57.   
  58. class SalesOrder extends Order {  
  59.     public SalesOrder(){  
  60.         System.out.println("a salesOrder will be created");  
  61.         super.discount = 0.90d;  
  62.     }  
  63. }  
[java]  view plain  copy
  1. 1)  程序能否运行?结果是什么?  
  2.  不能,private double discount;//应该改为public否则子类不能引用  
  3. an Order will be created  
  4. a salesOrder will be created  
  5. 0.9  
  6. create 1 order  
  7. 2)  将20行改为  
  8. order = OrderCreator.createOrder("agent");输出结果是?  
  9. 答:no suitable  
  10. create 0 order  
  11. 3)  用uml画出上面类结构图?  
  12. 4)  该程序用了什么设计模式?  
  13.   
  14.   
  15. 3、数据库  
  16. 表结构在最上面,图片不好上传,没办法  
[java]  view plain  copy
  1. <pre>1)统计每个地区的合同金额合计并按此倒序排列显示  
  2.   
  3. select sum(total) as numbers from salesOrder group by region order by numbers desc;  
  4.   
  5. 2)  统计出每个地区的销售人员数量  
  6.   
  7. select region,count(distin  
  8. ct(sales)) from salesOrder group by region;  
  9.   
  10. 3)  统计每个地区合同金额最少的销售人员  
  11.   
  12. ???  
  13.   
  14. 4)  统计出所有超过本地区合同金额平均值的合同(orderId为合同id外键)及金额  
  15.   
  16. ???  
  17.   
  18. 5)  现为了方便,需把上表中每个地区的合计金额放入一张名为“saleReport”表中,  
  19. Region      total(合计)  
  20. 写出相应的语句?  
  21.   
  22. insert into saleReport select region  
  23. ,sum(total) from salesOrder group by region;  
  24.   
  25. 6)  如果建立索引,应在那几个列上建立?建立什么样的索引。为什么?  
  26. ???  
  27. 4、  如果以前的系统是用的旧的技术,而你是追求新技术,但你以后的工作就是维护和二次开发以前的系统,你会怎么处理这个矛盾???  
  28. ???</pre>  

  1. <pre></pre>  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值