两个都是超个性的公司。

    汉略宣讲只要投简历,就会拿到笔试通知。而青牛的宣讲,直接就是笔试现场—_______—!

    下午青牛,2个小时;晚上汉略,三个小时。

    青牛:综合题+语言题

    1.视图的优点?建立视图的基本语法结构?                                                   

 A: 1)视图对于数据库的重构造提供了一定程度的逻辑独立性。
 数据的逻辑独立性是指数据库重构造时,如数据库扩大 (增加了新字段,新关系等), 用户和用户程序不会受影响。
2)简化了用户观点。
视图的机制使用户把注意力集中在他所关心的数据上。若这些数据不是直接来自基本表,则可以定义视图,从而使用户眼中的数据结构简单而直接了当, 并可大大简化用户的数据查询操作,特别是把若干表连接在一起的视图,把从表到表所需要的连接操作向用户隐蔽了起来。
3)视图机制使不同的用户能以不同的方式看待同一数据。
4)视图机制对机密数据提供了自动的安全保护功能。
可以把机密数据从公共的数据视图(基本表)中分离出去,即针对不同用户定义不同的视图,在用户视图中不包括机密数据的字段。这样,这类数据便不能经由视图被用户存取,从而自动地提供了对机密数据的保护。                                                                                                                   视图的基本语法结构:使用CREATE VIEW语句,其语法结构如下:
CREATE VIEW view_name [(column ][,...n])]
AS
select_statement
其中view_name为要建立的视图的名称,而AS子句后面的就是建立视图的查询语句。而此语句有以下限制:不能包含ORDER BY、COMPUTE和COMPUTE BY等子句;不能包含INTO关键字;不能涉及临时表。

  2.软件开发中,XML的用途?

    XML即Extensible Markup Language(可扩展标记语言)。优点:可扩展性;灵活性;自描述性;简明性;......XML 的主要目的是在网站上透过服务器与浏览器程序来传输信息,XML 也被设计来供其它型式的软件使用。例如,XML 已被用来在金融软件间往来信息、分发与更新软件,以及被用来撰写声音script 以便能透过电话传输。

3. web中cookie和session的不同。

  A:cookie保存在客户机子上,明码保留,可以保留相当长的时间(在COOKIE记录被删除或者失效日期之前) 。当如果想让用户下次登入网站不需要输入用户名或者密码的时候就只能用COOKIE。而session是在服务器端,用sessionID区分不同的用户,客户端只保存sessionID。但不会保留太长时间,而且IE在关闭后就自动清除了SESSIONID记录,在下次登入的时候会请求新的SESSIONID。

4.5分钟,双声道,22.05kHz采样,16位量化,5:1压缩,该数字音频的数据量是多少?

 A:22.05*16*2*5*60/5。

5. 信号量及P、V操作中。

A:实现进程互斥和同步的信号量机制有软件方法、硬件指令方法、信号量机制和管程等。信号量的值只能通过两个原子操作:P、V操作来改变,它代表分配资源和释放资源。每个信号量至少须记录两个信息:信号量的值和等待该信号量的进程队列。

信号量的类型
信号量按联系进程的关系分成二类:
公用信号量(互斥信号量):它为一组需互斥共享临界资源的并发进程而设置,代表共享的临界资源,每个进程均可对它施加P、V操作,即都可申请和释放该临界资源,其初始值置为1。
专用信号量(同步信号量):它为一组需同步协作完成任务的并发进程而设置,只有拥有该资源的进程才能对它施加P操作(即可申请资源),而由其合作进程对它施加V操作(即释放资源)。

6.关系模式,规范化程度。

A:关系数据库内容。1NF(第一范式),2NF(第二范式),3NF(第三范式)和BCNF。搞不懂,详见http://www.goood.org/2005/10/09/%e6%95%b0%e6%8d%ae%e5%ba%93%e5%85%b3%e7%b3%bb%e8%8c%83%e5%bc%8f/

7.密钥。

A:加密技术通常分为两大类:“对称式”和“非对称式”。对称式加密就是加密和解密使用同一个密钥,通常称之为“Session Key”这种加密技术目前被广泛采用,如美国政府所采用的DES加密标准就是一种典型的“对称式”加密法,它的Session Key长度为56Bits。

  非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个需要配对使用,否则不能打开加密文件。这里的公钥是指可以对外公布的,私钥则只有持有者自己知道。在网络上,对称式的加密方法很难公开密钥,而非对称式的公钥是可以公开的,不怕别人知道,收件人解密时只要用自己的“私钥”即可以,这样就很好地避免了密钥的传输安全性问题。

      摘要有时被称为是第三种加密算法。加密技术中的摘要函数(MAD、MAD和MAD)摘要是一种防止改动的方法,其中用到的函数叫摘要函数。这些函数的输入可以是任意大小的消息,而输出是一个固定长度的摘要。对于MD5是16位,SHA是20位。

     摘要算法从给定的文本块中产生一个数字签名(fingerprint或message digest),数字签名可以用于防止有人从一个签名上获取文本信息或改变文本信息内容和进行身份认证。摘要算法的数字签名原理在很多加密算法中都被使用,如SO/KEY和PIP(pretty good privacy)。

  ps:网络数据加密可以用三种方式来实现,即:链路加密、节点加密和端到端加密。

8.散列表。

       除了各种树表外之外,还可以采用散列表技术来实现动态查找表,“散列”既是一种存储方式,又是一种查找方法,这种查找方法成为散列查找,按散列存储方式构造的 存储结构成为散列表,散列技术的核心是散列函数,散列函数是一种将键值映射为散列表中的存储位置的函数,对任意给定的动态查找表t,如果选定了某个“理想的”散 列函数h及相应的散列表l,则对t中的每个元素x,函数值h(x.key)就是x在散列表l中的存储位置,插入时数据元素x将被安置在该位置上,并且查找x时也到该位置上去查 找,由散列函数决定的数据元素在散列表中的存储位置称为散列地址。       

       在理想的情况下,散列函数是一个一一对应,即每个键值对应于一个散列地址,且不同的键值对应于不同的散列地址,但在实际应用中,这种情况很少出现,在大多数情况下,出现“同义词”并发生“冲突”是不可避免的,设有散列函数h和键值k1,k2,若 k1<>k2,且h(k1)=h(k2),则称为k1,k2是同义词,假如动态查找表中两个数据元x1,x2,要求将x1,x2存入同一个散列表,而且它们的键值是同义词,这种情况 称为冲突。

       简单的说,散列法的基本思想是:由结点的关键码值决定结点的存储地址。散列表的一个重要特征是平均检索长度不直接依赖于元素个数。平均检索长度不随着元素个数的增加而增加,而是随着负载因子的增大而增加。如果安排得好,平均检索长度可以小于1.5。正是由于这个特征,散列表成为一种很受欢迎的组织线性表的方法。

9.汉略的语言题倒是不难。我考得是JAVA。很基础,但也很不确定:(。

public class Base {
    public void print(){
     System.out.println("Bast print\n");
    }
}

public class Inherit extends Base{
    public void print(){
     System.out.println("Inherit print\n");
    }
   
    public static void main(String args[]){
     Inherit in = new Inherit();
     Base base = new Base();
     
     base.print();
     in.print();
     
     base = in;
    
     base.print();

     in.print();
    }
}

打印结果:

Bast print

Inherit print

Inherit print //注意

Inherit print

10.字符串的==与equals:

public class Test2 {
 public static void main(String args[]) {
  Test2 test = new Test2();
  String a, b;
  StringBuffer c, d;

  a = "abcd";
  b = "abcd";
  System.out.println("when both = 'abcd':   " + test.print(a, b));

  a = new String("abcd");
  b = new String("abcd");
  System.out.println("when both new String('abcd'):   " + test.print(a, b));

  a = new String("abcd");
  b = "abcd";
  System.out.println("when one new String('abcd'), another 'abcd':   " + test.print(a , b));

  c = new StringBuffer("abcd");
  d = new StringBuffer("abcd");

  System.out.println("when both StringBuffer('abcd'):   " + test.print(c ,d));

 }

 /**
  * 
  */
 private String print(Object oa, Object ob) {
  String result = " ";
  if (oa == ob) {
   result = "   ==";
  }
  if (oa.equals(ob)) {
   result += "  equals()";
  }
  return result;
 }
}

输出为:

when both = 'abcd':      ==  equals()
when both new String('abcd'):      equals()
when one new String('abcd'), another 'abcd':      equals()
when both StringBuffer('abcd'): 

11.ArrayList与Vector,HashTable与HashMap

就ArrayList与Vector主要从二方面来说. 
一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的 
二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半 
就HashMap与HashTable主要从三方面来说。 
一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现 
二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的 
三.值:只有HashMap可以让你将空值作为一个表的条目的key或value 

汉略篇~~~~

就没什么了,几乎所有可能的笔试类型都出现了,性格测试,智商、情商测试,逻辑能力,空间思维能力,还有技术基础,以及专门的测试试题。ft的是,最后还要手填中英文简历,中文建立尚可,英文的就.......当初都是从金山词霸上copy的,哪里记得怎么写~~~~~差点用拼音了~~~~~

信威一个笔试题:

要求不用已有函数,从一句话中取出数字,并相加。

public class Test3 {

 public static void main(String args[]) {
  String sentence = "公司成立于1995年9月,共有200人。";
  int begain = 0, sum = 0;
  for (int i = 0; i < sentence.length(); i++) {
   if ((sentence.charAt(i) >= '0') && (sentence.charAt(i) <= '9')) {
    if(begain==0){
     begain = i;
    }
   } else {
    if(begain>0){
     String temp = sentence.substring(begain, i);
     sum += new Integer(temp).intValue();
     System.out.println(temp);
     begain=0;
    }
   }
  }
  System.out.println(sum);
 }
}