`

无聊做别人的面试题

 
阅读更多

mysql 处理时间

 

 

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format

 

 

 

数据库的三范式

 

 

那些数据库的书介绍的数据库范式,实在是晦涩难懂,我在这里给出一个通俗的描述:


1NF:一个table中的列是不可再分的(即列的原子性)

2NF:一个table中的行是可以唯一标示的,(即table中的行是不可以有重复的)

3NF:一个table中列不依赖以另一个table中的非主键的列,还是不通俗!巨寒!!

        举个例子吧:有一个部门的table,我们叫它tbl_department, 它有这么几列(dept_id(pk),dept_name,dept_memo...) 有一个员工table,我们叫它tbl_employee,在这个table中有一列dept_id(fk)描述关于部门的信息,若tbl_employee要满足3NF,则在tbl_employee中就不得再有除dept_id列的其它有关部门信息的列!

一般数据库的设计满足3NF即可!(个人觉得应该尽可能的满足3NF,一家之言^_^)

BCNF:通常认为BCNF是修正的第三范式,它比3NF又进一步!

4NF:

5NF:将一个table尽可能的分割成小的块,以排除在table中所有冗余的数据 

 

 

 

 

 

今天星期几?

 

 

import java.util.Calendar;
import java.util.Date;


public class CalendarTest {
	
	public static void main(String[] args) {
		final String dayNames[] = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五","星期六" };
		Calendar calendar = Calendar.getInstance();
		Date date = new Date();
		calendar.setTime(date);
		int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK)-1;
		if(dayOfWeek<0)dayOfWeek=0;
		System.out.println(dayNames[dayOfWeek]);
	}

}

 

runtime exception 和exception的区别

 

 

首先,您应该知道的是Java 提供了两种Exception 的模式,一种是执行的时候所产生的Exception (Runtime Exception),另外一种则是受控制的Exception (Checked Exception)。

一般而言,Checked Exception 表示这个Exception 必须要被处理,也就是说程序设计者应该已经知道可能会收到某个Exception(因为要try catch住) ,所以程序设计者应该能针对这些不同的Checked Exception 做出不同的处理。

  而Runtime Exception 通常会暗示着程序上的错误,这种错误会导致程序设计者无法处理,而造成程序无法继续执行下去。

 

 

4.19面试

 

ACID

 

一个要有事务属性的数据库需要具有ACID的特性 

ACID,指数据库的不可部分完成性(又称「原子性」,Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。一个支持交易(Transaction)的数据库系统,必需要具有这四种特性,否则在交易过程(Transaction processing)当中,无法保证数据的正确性。 

原子性就是比如我给我妈转账钱,我这里扣100,她那里加100,要是中间突然停电了两个人的账户上的钱都要回滚成转账以前的。 

一致性就是我转给我妈100块,我帐户里要扣100,我妈帐户要加100,不能我这里扣50,我妈那里加100。 

隔离性就是为了保证事务并发时候数据不出错。 

持久性就是转账完成以后我这里就永久的扣了100而我妈那里就永久的加了100元不会再变了。 

为了保证事务的隔离性数据库会采用锁机制 
锁(Lock) 是在多用户环境下对资源访问的一种限制。机制当对一个数据源加锁后,此数据源就有了一定的访问限制。我们就称对此数据源进行了“锁定”。 

在SQL Server中,可以对以下的对象进行锁定: 
数据行(Row):数据页中的单行数据; 
索引行(Key):索引页中的单行数据,即索引的键值; 
页(Page):页是SQL Server 存取数据的基本单位,其大小为8KB; 盘区(Extent):一个盘区由8 个连续的页组成; 
表(Table); 
数据库(Database)。 

从数据库系统的角度来看锁分为以下三种类型: 
独占锁(Exclusive Lock) 
  独占锁锁定的资源只允许进行锁定操作的程序使用,其它任何对它的操作均不会被接受。执行数据更新命令,即INSERT、 UPDATE 或DELETE 命令时,SQL Server 会自动使用独占锁。但当对象上有其它锁存在时,无法对其加独占锁。独占锁一直到事务结束才能被释放。 

共享锁(Shared Lock) 
  共享锁锁定的资源可以被其它用户读取,但其它用户不能修改它。在SELECT 命令执行时,SQL Server 通常会对对象进行共享锁锁定。通常加共享锁的数据页被读取完毕后,共享锁就会立即被释放。 

更新锁(Update Lock) 
  更新锁是为了防止死锁而设立的。当SQL Server 准备更新数据时,它首先对数据对象作更新锁锁定,这样数据将不能被修改,但可以读取。等到SQL Server 确定要进行更新数据操作时,它会自动将更新锁换为独占锁。但当对象上有其它锁存在时,无法对其作更新锁锁定。 

从程序员的角度看锁分为以下两种类型: 
乐观锁(Optimistic Lock) 
乐观锁假定在处理数据时,不需要在应用程序的代码中做任何事情就可以直接在记录上加锁、即完全依靠数据库来管理锁的工作。一般情况下,当执行事务处理时SQL Server会自动对事务处理范围内更新到的表做锁定。 参考资料:spring里面事务的传播属性和事务隔离级别(复习)里面的事务的隔离级别 

悲观锁(Pessimistic Lock) 
悲观锁对数据库系统的自动管理不感冒,需要程序员直接管理数据或对象上的加锁处理,并负责获取、共享和放弃正在使用的数据上的任何锁。 

 

 

 

 

一个字符串子集 如ABC 它的子集有多少个 字母要连续

 

 

AB
一个:A\B
两个:AB

ABC
一个:A\B\C
两个:AB\BC
三个:ABC


ABCD
一个:A\B\C\D
两个:AB\BC\CD
三个:ABC\BCD
四个:ABCD

N个字母
n(n-1)*1/2

 

一个字符串子集 如ABC 它的子集有多少个 字母可以不连续

 

2的N次方-1

 

 

 

 

4.11面试

 

不准用Integer.valueOf 不准用相类似java api

 

写一个函数实现字符串转换成整型

 

package com;
/*面试题1:
不准用Integer.valueOf 写一个函数实现字符串转换成整型*/
public class Test1 {
	
	public static int toInt(String numstr){
		int result = 0;
		int sign = 1;
		for(int i = 0; i < numstr.length(); i++)
		{
			//charAt 返回字符串该位置上字符的acsii码值
			int ch = numstr.charAt(i);
			if(i==0 && ch == '-'){
				sign = -1;
			}else if(i==0 && ch == '+'){
				sign = 1;
			}else{
				//'0'的acsii码是48
				result = result*10 + (ch-'0');
			}
		}
		return sign * result;
		
	}
	
	public static void main(String[] args) {
		String numstr = "123";
		System.out.println(toInt(numstr));	
	}

}

 

StringBuffer 和 StringBuilder的区别

 

 

StringBuffer线程安全
StringBuilder非线程安全

效率 StringBuilder >  StringBuffer > String

 

 

 

题目转自 http://263796001-qq-com.iteye.com/blog/1453041

都是2012金山在武昌招聘时的笔试题。

 

第一个是正式招聘的题目:

1:String、StringBuild、StringBuffer的区别

 

String是不可变类 final的 StringBuffer是个可变的类 性能比String好

 

 

2:想让基类不被子类继承,用什么方法

 

final

 

 

3:Java为什么可以在不同平台上运行?(Java的跨平台性)

 

jvm

 

 

4:给定一个数组,求第二大数

 

先冒泡排序 再输出第二个数 性能好像搓了点 package cn.algorithm;

public class NumberTwo {
	
	public static void main(String[] args) {
		int[] a = {9,1,3,4,5,6,2,4,7,8};
		int[] b = a.clone();
	    NumberTwo.bubblesort(b);
        System.out.println(b[1]);
        System.out.println(a[1]);
		
	}
	
	
	
	public static void bubblesort(int[] number){
		int temp = 0 ;
		for(int i = 0; i < number.length - 1; i++){
			
			for(int j = i + 1; j <  number.length; j++) {
				if(number[i] < number[j]){
					temp = number[i];
					number[i] = number[j];
					number[j] = temp;
				}
			}
		}
	}
	
	

} 
 

 

 

5:用递归和非递归实现Fib(K,n)函数,Fib(K,n)定义略,记不太清楚了

 

 

package cn.algorithm;

public class Fibonacci {
    public static void main(String[] args) {
		Fibonacci.fibonacci2(3);
    	
    	
	}
    
    //递归
    public static int fibonacci(int n){
    	if(n < 2){
    		return 1;
    	}
    	return fibonacci(n - 1) + fibonacci(n - 2);
    }
    
    //非递归
    public static void fibonacci2(int n){
    	int[] i = new int[100];
    	i[0] = 1;
    	i[1] = 1;
    	for(int j = 2; j < n; j ++){
    		i[j] = i[j-1] + i[j-2];
    	}
    	
    	for(int k = 0; k < n; k++)
    		System.out.println(i[k]);
    }
}

 

6:设计(实现?)一个日志类框架。原题比较长,大致这个意思

 

 

不会唉。以后回来看

 

 

 第二个是后来单独出的对实习生的笔试,本来是没有的,后来单独出的貌似

 

1:求2个大整数之和

 

 java.math.BigInteger

BigInteger a = new BigInteger("1234567890");
BigInteger b = new BigInteger("1234567890");
    
        System.out.println(a.add(b));

 

2.1:二叉树排序

 

2.2:将排好序的二叉树转为双向链表输出

3:给定一个字符串,输出第一个只出现一次的字符

 

public class s17 {
	public static char firstOne(String s)
	{
		char result = '0';
		char temp;
		int[] num = new int[52];
		for (int i = 0; i < s.length(); i ++)
		{
			temp = s.charAt(i);
			if ( temp >= 'a' && temp <= 'z' )
			{
				num[temp - 'a']++;
			}
			else
				if (temp >= 'A' && temp <= 'Z')
				{
					num[temp - 'A' + 26] ++;
				}
		}
		for (int i = 0; i < num.length; i ++)
		{
			if (num[i] == 1)
			{
				if (i >= 0 && i <=26)
				{
					result = (char)(i + 'a');
				}
				else
					result = (char)(i - 26 + 'A');
				break;
			}
		}
		return result;
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
//		String s = "xabb";
		String s = "abaccdeff";
//		
		char c = firstOne(s);
		System.out.println(c);
	}
}

 

4:给定一个文本文件,其中有10亿个IP,输出出现频率最高的1000IP

5:记不太清楚了,貌似是有1000多个计算任务,对于一个4CPU的机器,明显实现4线程最好,请你设计一个程序框架,使得计算时间最短(计算任务本身时间不变)

 

 

分享到:
评论
2 楼 dsr_22 2012-04-09  
sinly 写道
工作找的怎么样了?


刚玩了两星期~
1 楼 sinly 2012-04-09  
工作找的怎么样了?

相关推荐

    10万字总结java面试题和答案(八股文之一)Java面试题指南

    JavaOOP面试题 Java集合/泛型面试题 Java异常面试题 Java中的IO与NIO面试题 Java反射面试题 Java序列化面试题 Java注解面试题 多线程&并发面试题 JVM面试题 Mysql面试题 Redis面试题 Memcached面试题 MongoDB面试题 ...

    云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云

    云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备...

    java面试题,J2EE面试题 笔试题

    最全的j2EE面试题,题量大、经典,是我面试的整理试题 1、java笔试题大集合 2、各个公司面试题 3、J2EE初学者面试题 4、J2EE面试题(打码查错题) 5、java_华为笔试题 6、java常见面试题 7、java程序员面试宝典 8、...

    牛客大数据面试题集锦+答案,共523道,46W+字。大厂必备

    大数据面试题V3.0完成了。共523道题,679页,46w+字,来源于牛客870+篇面经。 主要分为以下几部分: Hadoop面试题:100道 Zookeeper面试题:21道 Hive面试题:47道 Flume面试题:11道 Kafka面试题:59到 HBase面试题...

    2022java面试题、JVM面试题、多线程面试题、并发编程、Redis面试题、MySQL面试题、Java2022面试题

    2022java面试题、JVM面试题、多线程面试题、并发编程、Redis面试题、MySQL面试题、Java2022面试题、Netty面试题、Elasticsearch面试题、Tomcat面试题、Dubbo面试题、Kafka面试题、Linux面试题、2021面试题、java面试...

    2023最新JAVA面试题集

    2023年最新版--Java+最常见的+200++面试题汇总+答案总结汇总 阿里百度美团面试题合集 大数据面试题 100道 多线程面试59题(含答案) 最新JAVA面试题总结之基础/框架/数据库/JavaWeb/Redis BIO,NIO,AIO,Netty面试题 ...

    个人面试题总结(java,数据库,前端).zip

    文件中包含了本人最近在网上总结的面试题,有java面试题,jq面试题,jsp、servlet、ajax面试题,mysql面试题,oracle面试题,redis教案,也有最近时间总结的公司面试题,涉及的层面虽然不是很多,但是应对面试 应该...

    【BAT必备】zookeeper面试题

    【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】...

    (完整版)运维面试题(含答案).pdf

    (完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题...

    前端面试题:前端框架面试题大全

    前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; ...

    【BAT必备】dubbo面试题

    【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题...

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    面试题包含了不同技术层面的面试问题,同时也能对一些没有面试开发经验的小白给予不可估量的包装, 让你的薪水绝对翻倍, 本人亲试有效.Java面试题84集、java面试专属及面试必问课程,所有的面试题有视屏讲解, 解答方案....

    面试题 面试题面试题

    面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题...

    ERP工程师面试题ERP工程师面试题

    ERP工程师面试题ERP工程师面试题ERP工程师面试题ERP工程师面试题

    Python面试题及答案共70道.docx

    Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python...

    最全的IT公司面试题集 CHM版的

    Java面试题,J2EE面试题,.net面试题,PHP面试题,数据库面试题,英语面试,外企面试,软件测试面试题,Python面试题,Oracle面试题,MySql面试题,Web开发面试题,Unix面试题,程序员面试,网络技术面试题,网络安全面试题,Linux...

    H5前端面试大全-包含大厂面试题_25个md文件分类面试题.rar

    这里将收集我做过的所有的前端面试笔试题,并根据自己的理解提供解答,以及一些关于前端找工作方面的经验等。 前端笔试面试题部分 试题链接 原题概述 标签分类 1.md CSS部分 CSS 2.md HTML部分 HTML 3.md FEX ...

    java高级软件工程师面试题大全及答案 含一些公司面试题

    java高级软件工程师面试题大全及答,一些公司的面试题,对于正在找工作应对面试的朋友或许有点帮助。java高级软件工程师面试题大全及答,一些公司的面试题,对于正在找工作应对面试的朋友或许有点帮助

    c语言 面试题 与c语言有关的面试题 华为笔试题

    c语言 面试题 与c语言有关的面试题 华为笔试题 c语言 面试题 与c语言有关的面试题 华为笔试题 c语言 面试题 与c语言有关的面试题 华为笔试题 c语言 面试题 与c语言有关的面试题 华为笔试题 c语言 面试题 与c语言有关...

    面试小抄面试题 面试题sss

    * 根据面试类型:可以将面试小抄面试题分为技术面试题、行为面试题、智慧面试题等。 * 根据面试难度:可以将面试小抄面试题分为简单、中等、困难三类。 * 根据面试领域:可以将面试小抄面试题分为IT面试题、金融面试...

Global site tag (gtag.js) - Google Analytics