给学校公司同学出的一些题目---java, jquery, spring, springmvc, mybatis, 网络编程, linux, mysql(持续更新)

本编博文只是为了记录给学校一个公司的同学出的一些题目:

 

 

Java部分:

IO题:(可以只填写关键代码,即可省略类命名,主方法命名等。各变量命名符合规范,无特定要求。单一描述题在25-100字之间,多描述题每个描述部分10-30字。“附加: ”后为加分题。)

1. 利用IO类实现文件读写。条件:尽可能考虑性能。文件及地址无要求。

2. 读写随机访问文件。条件:在写入时修改第三行。文件内容为:

Test.txt:

29.1

72.3

53.2

5.663

235.75

.........

3. 画出你所知Java库中的IO类结构。并在结构图下简单描述3-8个类,包含各自命名以及作用或应用场景。同一类的输入输出算一个,比如inputStream 和 outputStream

4. InputStream和Reader的区别是什么?为什么要这样分?InputStreamReader类的作用又是为了什么?附加:

5. System.out以及System.in中的out和in ,返回的是哪个类?

6. 对单个文件进行压缩以及解压缩的过程。

7. ISO-8859-1, ASCII, GBK ,UNICODE ,UTF8分别指什么编码格式?有什么区别

8. 

 

 

内部类题:

1. 内部类分为哪几种?

 

设计模式:

1. 懒汉和饿汉单例模式有什么区别?要怎么处理多并发情况懒汉模式的可能的多线程问题?

2. 

3. 

 

 

代码:

1.下列代码将输出什么

 

2. hashcode和equals的约定关系是什么?

3. Short s1 = 1; s1 = s1 +1; 和 Short s1 = 1; s1 += 1; 有什么区别?编译是否能成功?如果不成功又是因为什么?

4. Java的类可以继承多个类,但只能实现单个接口,那怎么样才能使一个类能拥有多个接口的特征并实现?

5. Final, finalize和finally的区别是什么?

6. Int可以转换成byte吗?会出现什么问题?

7. Set里的元素是不能重复的,那是怎么判断元素是否已存在?

8. Java要如果跳出多重嵌套循环?请举个例子。

 

多线程:

1. 你了解多少种创建线程的方式?请分别举例

2. 请举例简述活锁和死锁的区别。

3. 为什么要使用线程池?线程池的好处是什么?

4. 什么是乐观锁和悲观锁?

5. 

 

异常处理:

1. throw和throws的区别?

2. 请列举四个你所了解的异常。并分别用10字左右进行简述。

3. 下列代码会输出什么?

1.

public class TryCatchFinally {

    @SuppressWarnings("finally")
    public static final String test() {
        String t = "";
        try {
            t = "try";
            return t;
        } catch (Exception e) {
            t = "catch";
            return t;
        } finally {
            t = "finally";
        }
    }

    public static void main(String[] args) {
        System.out.print(TryCatchFinally.test());
    }

}

 

 

2.

public class TryCatchFinally {

            @SuppressWarnings("finally")
    public static final String test() {
                String t = "";
       
                try {
                        t = "try";
                        return t;
                    } catch (Exception e) {
                        // result = "catch";
                        
t = "catch";
                        return t;
                    } finally {
                        t = "finally";
                        return t;
                    }
            }

            public static void main(String[] args) {
                System.out.print(TryCatchFinally.test());
          }

        }

 

 

 

3.

public class TryCatchFinally {

    @SuppressWarnings("finally")
    public static final String test() {
        String t = "";

        try {
            t = "try";
            Integer.parseInt(null);
            return t;
        } catch (Exception e) {
            t = "catch";
            Integer.parseInt(null);
            return t;
        } finally {
            t = "finally";
        }
    }

    public static void main(String[] args) {
        System.out.print(TryCatchFinally.test());
    }

}

 

 

4.

public class TryCatchFinally {

    @SuppressWarnings("finally")
    public static final String test() {
        String t = "";

        try {
            t = "try";
            Integer.parseInt(null);
            return t;
        } catch (NullPointerException e) {
            t = "catch";
            return t;
        } finally {
            t = "finally";
        }
    }

    public static void main(String[] args) {
        System.out.print(TryCatchFinally.test());
    }

}

 

 

 

容器类:

1. 队列中poll()和remove()方法的区别?

2. LinkedHashMap和PriorityQueue的区别?

3. Comparator和Comparable的区别?

4. Collections和Collection的区别?

5. 你了解几种遍历集合的方式?分别是什么?哪种方式更好?为什么?

6. 

7. 

 

多态:

1. 对以下几种代码分别执行 SuperClass clz = new SubClass(); clz.doWork(); 会产生怎么样的结果?请分别描述。

1: Class SuperClass{

Public void doWork(){

    System.out.println(“Super.doWork”);

}

}

Class SubClass extends SuperClass{

 

}

 

2: Class SuperClass{

 

}

Class SubClass extends SuperClass{

Public void doWork(){

    System.out.println(“SubClass.doWork”);

}

}

 

3: Class SuperClass{

Public void doWork(){

     System.out.println(“Super.doWork”);

}

}

Class SubClass extends SuperClass{

     Public void doWork(){

      System.out.println(“SubClass.doWork”);

}

}

 

 

4. Class SuperClass{

Static public void doWork(){

    System.out.println(“Super.doWork”);

}

}

Class SubClass extends SuperClass{

Static public void doWork(){

     System.out.println(“SubClass.doWork”);

}

}

 

 

 

 

网络编程:

1. URL和URI的全程以及区别?各自的应用场景。

2. 请详细的描述WEB浏览器向WEB服务器发送获取页面请求,服务器响应返回的过程。

3. 网络架构分层你习惯用哪种分层形式理解?请写下你的方式以及具体的分层。并描述各层的作用。

 

 

MYSQL:

现在有几张表分别是

user 用户表:

Id int(11), name varchar(30), username varchar(30), remarks varchar(255)

menu 权限表:

Id int(11), parent_id int(11), name varchar(30)

role 角色表:

Id int(11),name varchar(30),

user_role用户-角色表,:

Id int(11), user_id int(11), role_id int(11)

Role_menu 角色-权限表:

Id int(11), role_id int(11), menu_id int(11)

 

通过以上表写出下列问题的sql

1. 已知用户的id(用#{id}表示),查询该用户的所有权限。

2. 已知权限的id(用#{id}表示),查询拥有该权限的所有用户。

3. 已知用户的id(用#{id}表示),同时符合关联表条件的用户的名字,权限名字,角色名字。

即若“用户1”拥有身份“角色1”和“角色2”,“角色1”和“角色2”都拥有权限“权限1”。则查询结果为

“用户1”  “角色1”  “权限1”,

“用户2”  “角色2”  “权限1”

 

CREATE TABLE`employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,

PRIMARY KEY (`emp_no`));

INSERTINTO employees VALUES(10001,'1953-09-02','Georgi','Facello','M','1986-06-26');
INSERT INTO employeesVALUES(10002,'1964-06-02','Bezalel','Simmel','F','1985-11-21');
INSERT INTO employeesVALUES(10003,'1959-12-03','Parto','Bamford','M','1986-08-28');
INSERT INTO employeesVALUES(10004,'1954-05-01','Chirstian','Koblick','M','1986-12-01');
INSERT INTO employeesVALUES(10005,'1955-01-21','Kyoichi','Maliniak','M','1989-09-12');
INSERT INTO employees VALUES(10006,'1953-04-20','Anneke','Preusig','F','1989-06-02');
INSERT INTO employeesVALUES(10007,'1957-05-23','Tzvetan','Zielinski','F','1989-02-10');
INSERT INTO employeesVALUES(10008,'1958-02-19','Saniya','Kalloufi','M','1994-09-15');
INSERT INTO employees VALUES(10009,'1952-04-19','Sumant','Peac','F','1985-02-18');
INSERT INTO employeesVALUES(10010,'1963-06-01','Duangkaew','Piveteau','F','1989-08-24');
INSERT INTO employeesVALUES(10011,'1953-11-07','Mary','Sluis','F','1990-01-22');

 

CREATE TABLEIF NOT EXISTS "titles" (
`emp_no` int(11) NOT NULL,
`title` varchar(50) NOT NULL,
`from_date` date NOT NULL,
`to_date` date DEFAULT NULL);

INSERT INTO titles VALUES(10001,'SeniorEngineer','1986-06-26','9999-01-01'); INSERT INTO titles VALUES(10002,'Staff','1996-08-03','9999-01-01');INSERT INTO titles VALUES(10003,'Senior Engineer','1995-12-03','9999-01-01');INSERT INTO titles VALUES(10004,'Engineer','1986-12-01','1995-12-01'); INSERTINTO titles VALUES(10004,'Senior Engineer','1995-12-01','9999-01-01'); INSERTINTO titles VALUES(10005,'Senior Staff','1996-09-12','9999-01-01'); INSERT INTOtitles VALUES(10005,'Staff','1989-09-12','1996-09-12'); INSERT INTO titlesVALUES(10006,'Senior Engineer','1990-08-05','9999-01-01'); INSERT INTO titles VALUES(10007,'SeniorStaff','1996-02-11','9999-01-01'); INSERT INTO titlesVALUES(10007,'Staff','1989-02-10','1996-02-11'); INSERT INTO titlesVALUES(10008,'Assistant Engineer','1998-03-11','2000-07-31'); INSERT INTOtitles VALUES(10009,'Assistant Engineer','1985-02-18','1990-02-18'); INSERTINTO titles VALUES(10009,'Engineer','1990-02-18','1995-02-18'); INSERT INTOtitles VALUES(10009,'Senior Engineer','1995-02-18','9999-01-01'); INSERT INTOtitles VALUES(10010,'Engineer','1996-11-24','9999-01-01'); INSERT INTO titlesVALUES(10010,'Engineer','1996-11-24','9999-01-01'); 

 

CREATE TABLE`dept_manager` (
`dept_no` char(4) NOT NULL,
`emp_no` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`dept_no`));

CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));

 

 

1.查找最晚入职员工的所有信息

select * from employees
where hire_date =
(select max(hire_date) from employees)

2.查找employees表所有emp_no为奇数,且last_name不为Mary的员工信息,并按照hire_date逆序排列

select * from employees
where emp_no % 2 = 1
and last_name != 'Mary'
order by hire_date desc

3.从titles表获取按照title进行分组,每组个数大于等于2,给出title以及对应的数目t。

注意对于重复的emp_no进行忽略。

select title, count(distinct emp_no) as t from titles
group by title
having t>=2

4.查找各个部门当前(to_date='9999-01-01')领导当前薪水详情以及其对应部门编号dept_no

select salaries.*,dept_manager.dept_no from salaries, dept_manager 
where salaries.emp_no = dept_manager.emp_no
and salaries.to_date = "9999-01-01"
and dept_manager.to_date = "9999-01-01";

 

 

查找所有员工自入职以来的薪水涨幅情况,给出员工编号emp_no以及其对应的薪水涨幅growth,并按照growth进行升序
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`));
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));

 

 

 

 

 

DROP TABLE IFEXISTS `TabName`;

CREATE TABLE`TabName` (

  `Id` int(11) NOT NULL AUTO_INCREMENT,

  `Name` varchar(20) DEFAULT NULL,

  `Date` date DEFAULT NULL,

  `Scount` int(11) DEFAULT NULL,

  PRIMARY KEY (`Id`)

) ENGINE=InnoDBAUTO_INCREMENT=9 DEFAULT CHARSET=utf8;

 

INSERT INTO`TabName` VALUES ('1', '小说','2013-09-01', '10000');

INSERT INTO`TabName` VALUES ('2', '微信','2013-09-01', '20000');

INSERT INTO`TabName` VALUES ('3', '小说','2013-09-02', '30000');

INSERT INTO`TabName` VALUES ('4', '微信','2013-09-02', '35000');

INSERT INTO`TabName` VALUES ('5', '小说','2013-09-03', '31000');

INSERT INTO`TabName` VALUES ('6', '微信','2013-09-03', '36000');

INSERT INTO`TabName` VALUES ('7', '小说','2013-09-04', '35000');

INSERT INTO`TabName` VALUES ('8', '微信','2013-09-04', '38000');

 

SELECT * fromTabName ;

SELECT Date ,

MAX(CASE NAME WHEN '小说' THEN Scount ELSE 0 END ) 小说,

MAX(CASE NAME WHEN '微信' THEN Scount ELSE 0 END ) 微信

FROM TabName 

GROUP BY Date 

列转行

Select  Date, group_concat(NAME,'总量:',Scount) as b_str from   TabName

 group by Date

行转列

select Date,NAME, group_concat(NAME,'总量:',Scount) as b_str from   TabName

 group by Date ,NAME

 

 

 

Jquery

 

1. 如何隐藏id为abc的元素?

 

 

JS部分

1. 找出元素item 在给定数组 arr 中的位置  -----------5分

function(arr,item){

}

 

function indexOf(arr, item) {

  if (Array.prototype.indexOf){

      return arr.indexOf(item);

  else {

      for (var i = 0; i < arr.length; i++){

          if (arr[i] === item){

              return i;

          }

      }

  }     

  return -1;

}

2.在数组 arr 的 index 处添加元素 item。不要直接修改数组 arr,结果返回新的数组

找出元素item 在给定数组 arr 中的位置   -----------10分
function insert(arr, item, index) {

}

 

  1. function insert(arr, item, index) {

  2. var a=arr.slice(0);

  3. a.splice(index,0,item);

  4. return a;

  5. }

  6.  

 

 

 

3.在数组 arr 中,查找值与 item 相等的元素出现的所有位置   ------------10

function findAllOccurrences(arr, target) {

 

}

In: 'abcdefabc'

Out: [0, 6]


function findAllOccurrences(arr, target) {
    var arr1=[];
    var j=0;
    for(var i=0;i<arr.length;i++){
        if(arr[i]===target){
            arr1.push(arr.indexOf(arr[i],j));
            j++;
        }
    }
    return arr1;
}

 

 

完成函数createModule,调用之后满足如下要求:

1、返回一个对象           -------3分

2、对象的greeting 属性值等于str1,name 属性值等于str2

3、对象存在一个sayIt 方法,该方法返回的字符串为greeting属性值+ ', ' + name属性值

 

function createModule(str1, str2) {

 

}


function createModule(str1,str2) {
    var newObj = {
        greeting:str1,
        name:str2,
        sayIt:function(){
            return  this.greeting+', '+this.name; //注意this
        }
    }

    return newObj;

 

 

JSP:

1. JSP有几种隐式对象?分别是什么?各自用10字左右简述。

2. Response有哪些常用的方法?请写出五个。各自用10字左右简述。

3. Servlet和JSP有什么区别?

4. JSP有哪些插入其他页面信息的方法?有什么区别?

5. Jsp有哪些弊端?

 

 

 

框架: (描述题要求25字以上)

1. 什么是aop?

2. 什么是IOC?

3. Spring和springmvc的区别是什么?

4. Springmvc用什么类装载数据传输?

5. 使用Mybatis有什么好处?

6. 

 

 

设计模式:

1.单例模式分为哪几种?有什么区别?

2.懒汉式单例模式多并发的情况会出现“多例“的情况,要怎么解决?非“多例”情况又会出现什么问题?

3.请用工厂模式设计以下实例。 一位家长想从玩具厂中买玩具给他的孩子当生日礼物,该玩具厂主要生产拼凑型玩具,拼凑型玩具有很多种,该玩具厂则以高达类,乐高类,拼图类,该家长决定买乐高类。

4.请用应用事例制造一个抽象工厂模式。

5.将对某一实例对象的创建过程十分相似时,将创建过程统一交由一个类负责。-----建造者模式

6.原型模式的原理是不调用构造函数创建对象。clone()和serializable

7.适配器模式比如java中的jdbc,enumeration转化成iterator ,靠继承和依赖

8.桥接模式,将抽象和具体化分离,尽量不要继承,减少耦合

 

 

 

 

前端:

1.请用html制作下图

 

 

编程题:

1.  输入一个链表,输出该链表中倒数第k个结点。           --------10


https://blog.csdn.net/u013686654/article/details/73827816

2.  用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

---------- 10 

  1.  

郑重声明:本文分享系统来自互联网,分享目的在于传递更多信息,帮助大家,并不代表本人赞同其观点和 对其真实性负责。如涉及作品内容、版权和其它问题,请在七日内与本人联系,我将在第一时间删除内容! [声明]本站文章版权归原作者所有,内容为作者个人观点,本人只提供参考并不构成任何投资及应用建议。 本人拥有对此声明的最终解释权。 系统完全开源, 系统包含如下: 登陆,注销,修改 系统管理:菜单管理,操作员管理,角色管理,操作员授权。 站点管理:站点信息管理,站点类型。 由于密码是涉及加密,请勿在数据库中任意修改密码 简要说明 使用Java平台,采用SpringMVC+Mybatis等主流框架 数据库:使用免费MYSQL 前端:使用Jquery和Easyui技术.界面清晰简洁,易操作. 权限:对菜单,按钮控制.仅展示有权限的菜单和按钮. 拦截:对所有无权限URL进行拦截,防止手动发送HTTP请求,确保系统全性. 代码生成:根据表生成对应的Bean,Service,Mapper,Action,XML等。提高开发效率. 项目说明: 用户名:admin 密 码:为大家方便,我已把密码放到登陆页,无需输入密码即可登陆 运行环境: 硬件平台: CPU:酷睿II。 内存:1GB以上。 软件平台: 操作系统:Windows。 数据库:MySQL。 编程平台:eclipse 浏览器:IE Web服务器:tomcat 分辨率:最佳效果1024×768像素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值