`
pigswimming
  • 浏览: 20789 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论
阅读更多
昨天晚上的,答案是匆忙写的,欢迎拍砖..........
1: 有如下一段程序:

    package a.b.c;
    public class Test{
       private static int i=0;
       public int getNext(){
          return i++;
       }
    }
    package a.b.c;
    public class TestB{
       public static void main(String[] args){
           Test test=new Test();
           System.out.println(test.getNext());
           Test testObject=new Test();
           System.out.println(testObject.getNext());
           System.out.println(test.getNext());
       }
    }
    请问最后打印出来的是什么,为什么?
打印出来时0,1,2  
private static 修饰i,就表示开辟一处内存空间供该类的的所有对象共享,且该成员域只能在该类中访问
i与实例无关。i用于存储创建实例的个数,i为类的属性而不是实例的属性,本题中getNext()被调用了两次,而且方法中执行的是i++操作,所以结果分别是0,1,2

2: 有这么一段程序:

    String a=new String("a");
    String b="b";
    String c=a+b;
    StringBuffer strBuf=new StringBuffer();
    strBuf.append("a");
    strBuf.append("b");
    String d=strBuf.toString();
    StringBuilder strBuilder=new StringBuilder();
    strBuilder.append("a");
    strBuilder.append("b");
    String e=strBuilder.toString();
    请问以上程序片段中c、d、e的字符串的创建各有什么不同?
c由于java编译器的优化,采用了Stringbuffer
d采用了StringBuffer
e采用了StringBuilder

3: 描叙下final, finally, finalize的区别
final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载
finally—再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
finalize—方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。

4: 现有以下数据表结构,请按要求写出SQL语句

    购物人      商品名称     数量
    A            甲          2
    B            乙          4
    C            丙          1
    A            丁          2
    B            丙          5
    查出所有购入商品为两种或两种以上的购物人记录
select 购物人 as 顾客,count(商品名称) as 商品种类数 from 表 group by 购物人 having count(商品名称)>=2

6: 描叙下TCP协议三次握手过程
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念:

未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。
Backlog参数:表示未连接队列的最大容纳数目。

SYN-ACK 重传次数 服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。

半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。

7: 用java/php/C++实现一个单例模式.
public class Singleton {
/**
* 类级的内部类,也就是静态的成员式内部类,该内部类的实例与外部类的实例
* 没有绑定关系,而且只有被调用到才会装载,从而实现了延迟加载
*/
private static class SingletonHolder{
/**
* 静态初始化器,由JVM来保证线程安全
*/
private static Singleton instance = new Singleton();
}
/**
* 私有化构造方法
*/
private Singleton(){
}
public static  Singleton getInstance(){
return SingletonHolder.instance;
}
}

8: 罗列你知道的排序算法,并注明他们的复杂度
冒泡法: 复杂度为O(n*n)
直接插入排序:O(n*n)
选择排序:O(n*n)
快速排序:平均时间复杂度log2(n)*n
归并排序:log2(n)*n
堆排序:log2(n)*n

9: 用java/php/C++实现快速排序算法
public class QSort {
   /**
      * @param pData 需要排序的数组
      * @param left  左边的位置,初始值为0
      * @param right 右边的位置,初始值为数组长度
      */
     public static void QuickSort(int[] pData,int left,int right)
     {
       int i,j;
       int middle,temp;
       i = left;
       j = right;
       middle = pData[left];
       //一趟快速排序
       while(true)
       {
       //从第二个数开始找大于中枢的数
           while((++i)<right-1 && pData[i]<middle);
           //从最后一个数开始找第一个小于中枢的数
           while((--j)>left && pData[j]>middle);
           if(i>=j)
               break;
           //交换两边找到的数
           temp = pData[i];
           pData[i] = pData[j];
           pData[j] = temp;

       }
       //交换中枢
       pData[left] = pData[j];
       pData[j] = middle;
       //递归快排中枢左边的数据
       if(left<j)
         QuickSort(pData,left,j);
       //递归快排中枢右边的数据
       if(right>i)
         QuickSort(pData,i,right);
     }

     public static void main(String[] args){
  
    int [] pData = new int[10];
        for(int i = 0; i< 10; i++)
             pData[i] = (int)(Math.random()*100);
      
         for(int i = 0; i<pData.length; i++)
             System.out.print(pData[i]+" ");
             System.out.println("");
      
         QSort.QuickSort(pData, 0, pData.length);
      
         System.out.println("\n***********************");
      
         for(int i = 0; i<pData.length; i++)
             System.out.print(pData[i]+" ");
     }

}

10: 名词解释:HTML5,CSS,STL,MYSQL, B-tree, Fedora
HTML5:HTML5草案的前身名为Web Applications 1.0,於2004年被WHATWG提出,於2007年被W3C接纳,并成立了新的HTML工作团队。HTML标准自1999年12月发布的 HTML 4.01后,后继的HTML 5 和其它标准被束之高阁,为了推动web标准化运动的发展,一些公司联合起来,成立了一个叫做 Web Hypertext Application Technology Working Group (Web 超文本应用技术工作组 - WHATWG) 的组织,他们重新拣起 HTML 5。第一份正式草案已于2008年1月22日公布。HTML 5有两大特点:首先,强化了Web网页的表现性能。其次,追加了本地数据库等Web应用的功能。
CSS(Cascading Style Sheet,可译为“层叠样式表”或“级联样式表”)是一组格式设置规则,用于控制Web页面的外观。通过使用CSS样式设置页面的格式,可将页面的内容与表现形式分离。页面内容存放在HTML文档中,而用于定义表现形式的CSS规则则存放在另一个文件中或HTML文档的某一部分,通常为文件头部分。将内容与表现形式分离,不仅可使维护站点的外观更加容易,而且还可以使HTML文档代码更加简练,缩短浏览器的加载时间。
STL = Standard Template Library,标准模板库,惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。这可能是一个历史上最令人兴奋的工具的最无聊的术语。从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。STL的目的是标准化组件,这样就不用重新开发,可以使用现成的组件。STL现在是C++的一部分,因此不用额外安装什么。
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。对于Mysql的前途,没有任何人抱乐观的态度。目前 MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
B-tree(多路搜索树,并不是二叉的)是一种常见的数据结构。使用B-tree结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度。按照翻译,B 通常认为是Balance的简称.这个数据结构一般用于数据库的索引,综合效率较高。
Fedora 是一个开放的、创新的、前瞻性的操作系统和平台,基于 Linux。它允许任何人自由地使用、修改和重发布,无论现在还是将来。它由一个强大的社群开发,这个社群的成员以自己的不懈努力,提供并维护自由、开放源码的软件和开放的标准。Fedora 项目由 Fedora 基金会管理和控制,得到了 Red Hat, Inc. 的支持。Fedora 是一个独立的操作系统,是Linux的一个发行版,可运行的体系结构包括 x86(即i386-i686), x86_64 和 PowerPC。

11: 在linux下,需要每天凌晨4:30把 /abc目录下的文件归档并压缩为back20110615.tar.gz,描叙shell实现方式。
由超级用户登录,用crontab执行
crontab -e
20:03:58  30 4 * * * tar /abc


分享到:
评论
6 楼 freish 2011-06-29  
招实习生的还是社招的?
5 楼 mxswl 2011-06-29  
新浪的题目比taobao的要实在。
4 楼 hand515 2011-06-29  
nickkathy 写道
那就是问问你 string stringbuffer stringbuilder 的区别


还有String xx = new String("xx");
和 String xx = "xx"的区别
3 楼 nickkathy 2011-06-29  
那就是问问你 string stringbuffer stringbuilder 的区别
2 楼 pigswimming 2011-06-29  
有人能讨论下第二题吗?
1 楼 pigswimming 2011-06-29  
7.9两题的代码是引用的哈,出处忘了标了,不好意思

相关推荐

    新浪微博笔试.docx

    以上是对新浪微博笔试题中涉及的C++基础知识的详细解释,包括引用与指针、全局变量引用、内存结构、C++类与结构体、程序执行逻辑、数组初始化、数据类型大小、虚表、Windows编程基础以及算法设计。这些知识是C++...

    新浪微博 应用开发工程师 笔试题

    以上就是关于新浪微博应用开发工程师笔试题目涉及的知识点详解。这些知识点涵盖了Java编程、字符串操作、面向对象概念、数据库操作、网络协议、设计模式、算法和操作系统等方面,是成为一名合格的应用开发工程师所需...

    最新新浪微博招聘面试笔试题目

    在IT行业中,面试和笔试是评估候选人技能的重要环节,尤其是对于像新浪微博这样的知名社交媒体平台。这份"最新新浪微博招聘面试笔试题目"提供了深入了解该企业招聘标准的机会。以下将根据标题、描述以及标签,深入...

    2015软件开发校招笔试题(百度、阿里、网易、美团、新浪微博

    五、新浪微博笔试题 新浪微博作为一个社交网络平台,其笔试题可能关注: 1. 社交算法:好友推荐、信息推送、热门话题计算等。 2. 数据挖掘:用户行为分析、情感分析、文本挖掘等。 3. 实时系统:实时数据处理、流...

    新浪微博2011年实习生招聘笔试题目

    新浪微博 2011软件测试工程师在北航的宣讲会笔试题目,

    新浪微博2019校园招聘java研发工程师笔试题

    【标题】:“新浪微博2019校园招聘java研发工程师笔试题”揭示了这是一场针对Java研发工程师的招聘考核,通常此类试题会涵盖Java编程语言的核心概念、数据结构与算法、多线程、网络编程、数据库操作以及面向对象设计...

    新浪微博 2015校招 开发工程师 笔试题

    "新浪微博 2015校招 开发工程师 笔试题" 这个标题揭示了我们要讨论的主题,即2015年新浪微博针对校园招聘的开发工程师岗位所设计的一套笔试题目。这可能包括了一系列的技术问题,旨在评估应聘者的编程能力、算法理解...

    2011年新浪微博面试笔试题

    以上是对“2011年新浪微博面试笔试题”的详细解析,涵盖了Java语言基础、异常处理、Servlet生命周期、JSP内置对象、SQL操作、多线程编程和算法等多个知识点。这些题目对于理解和掌握Java开发技能具有很好的参考价值...

    新浪微博2015校园招聘java研发工程师笔试题.docx

    新浪微博2015校园招聘java研发工程师笔试题

    新浪.docx

    1.1 新浪概况:新浪以提供全方位的网络信息服务著称,包括新闻、财经、体育、娱乐、教育等各类资讯,同时拥有强大的社交媒体平台——新浪微博,成为用户获取信息和互动交流的重要平台。 1.2 新浪历史:新浪成立于...

    新浪—北京PHP笔试题.rar

    标题"新浪—北京PHP笔试题.rar"表明这是一份与新浪公司在北京举行的PHP程序员笔试相关的资料,通常包含了一系列的PHP编程题目,用于测试应聘者的PHP技术能力。 描述同样为"新浪—北京PHP笔试题.rar",没有提供额外...

    搜狐2016校招产品运营笔试题.pdf

    11. **新浪微博盈利方式**:主要通过广告收入、推广服务、企业账号收费等方式实现盈利。 12. **社交软件分析**:需要分析其目标用户群体、用户需求、产品功能以及交互设计如何满足这些需求。 13. **旅游网站评论量...

    【2013-15年腾讯校园招聘】腾讯产品策划类笔试面试题整理

    - **腾讯微博 VS 新浪微博** - **QQ影音 VS 迅雷看看** - **QQ管家 VS 360安全卫士/金山卫士** - **QQ输入法 VS 搜狗输入法** - **QQ浏览器 VS 搜狗浏览器** - **QQ商城 VS 淘宝商城** - **QQ邮箱 VS 网易...

    sina2014校园招聘系统研发工程师c++笔试题

    【描述】"2014新浪sina系统开发工程师c++weibo技术笔试题招聘版"则提示我们,除了上述通用的C++和系统开发知识外,还可能涉及到微博平台特有的技术问题。这可能涵盖: 1. **分布式系统**:由于微博服务的高并发性,...

    新浪乐居.docx

    旗下品牌如“新浪房产”、“乐居买房”等在业内享有较高知名度,同时与新浪新闻、微博等媒体平台深度整合,形成了强大的房产信息传播网络。 1.3 文化/价值观 新浪乐居倡导创新、开放、协作的企业文化,重视员工的...

    UI设计师面试考试题(带答案).docx

    - **SNS**(Social Networking Services):如校内网、开心网、Facebook和腾讯微博等,专注于构建社交网络的服务。 - **IM**(Instant Messenger):如百度Hi、MSN、QQ等,提供即时通信服务。 #### 十五、电子商务...

    android开发资料大全

    一个完整的新浪微博客户端android版OAuth认证示例 超爽的android抽屉效果 65个Android实例教程汇总 基本控件及基本动画效果dem 2011android面试题目及其答案大全.rar Android面试题集锦 (陆续更新)(最新2012-6-18...

    史上最好传智播客就业班.net培训教程60G 不下会后悔

    .Net精品就业班课程表 : 1、.Net基础加强(10天) 核心技术课程 常用数据结构(List、Dictionary、...项目说明 总结以往所学知识,讲解《传智播客.Net面试、笔试宝典》,介绍简历、笔试、面试等所需的知识和技巧。

Global site tag (gtag.js) - Google Analytics