北京华宇面经

面的职位是java开发工程师,一面二面是一起的~其实很简单的,哎,但是只怪自己没有准备充分。

1.自我介绍

2.聊项目,json数组怎么解析后台传回来的?

没有解析json格式,当时处理的方式是座位

3.hibernate框架与jdbc的区别?

相同点:

◆两者都是JAVA的数据库操作中间件。

◆两者对于数据库进行直接操作的对象都不是线程安全的,都需要及时关闭。

◆两者都可以对数据库的更新操作进行显式的事务处理。

不同点

◆使用的SQL语言不同:JDBC使用的是基于关系型数据库的标准SQL语言,Hibernate使用的是HQL(Hibernate query language)语言

◆操作的对象不同:JDBC操作的是数据,将数据通过SQL语句直接传送到数据库中执行,Hibernate操作的是持久化对象,由底层持久化对象的数据更新到数据库中。

◆数据状态不同:JDBC操作的数据是“瞬时”的,变量的值无法与数据库中的值保持一致,而Hibernate操作的数据是可持久的,即持久化对象的数据属性的值是可以跟数据库中的值保持一致的。

答:当时只回答了方便使用

Hibernate是JDBC的轻量级的对象封装,Hibernate可以用在任何JDBC可以使用的场合。

4.有用过哪些中间件?

答:当时真的不知道中间件是什么.....后台提示了一下说是tomcat等之类的容器。

4.sql的分页是怎么实现的?

答:利用数据库本身实现分页,在此仅讨论MYSQL数据库,在MYSQL数据库中有一个LIMIT关键字

当使用两个参数时,第一个参数表示offset 起始位置,第二个参数表示返回的最大行数the maximum number of rows to return,其中offset的初始值是0not 1

-- 检索第6-15条数据
SELECT * FROM tbl LIMIT 5,10;

当使用一个参数时,该参数表示返回的最大行数(With one argument, the value specifies ·the number of rows to return from the beginning of the result set)

-- 从默认起始位置(0)开始返回5前条数据
SELECT * FROM tbl LIMIT 5;

MYSQL中关键字LIMIT的用法之后,分页便是很简单的事情了,在程序中,用两个参数表示LIMIToffsetrows,每次请求时传递当前页面的值和每页的数据量便可。

4.知道什么集合类?

答:知道,ArrayList,LinkedList,HashMap,HashTable,vector,Hashset,TreeSet.

5.ArrayList和LinkedList的区别?

答:它们的底层实现是不一样的,ArrayList的底层实现是一个数组,这种方式将对象放在连续的位置中,它的容量是动态可变的,它的初始容量是10,当它超过初始数组的时候会扩容,就变成初始容量的1.5倍。因为底层是数组实现的,它的优点是查找方便,但是插入和删除效率不高,因为会移动大量的数组(其实底层有用到本地的数组复制方法,把旧数组复制到新数组上。

    LinkedList的底层实现是双向链表,它的优点是插入和删除比较方便,查找效率不高。LinkedList 采用的将对象存放在独立的空间中,而且在每个空间中还保存下一个链接的索引 但是缺点就是查找非常麻烦 要丛第一个索引开始

6.写一下sql语句,(求出省份总人口超过2000万人的省份名称)

答:select name from table group by name having sum(people)>2000万

7.学习途径是什么?

答:说了比较喜欢看书,最近在看深入了解java虚拟机。

7.问了一下java的内存管理,了解它对项目中的有什么用?

答:可以通过查看内存分配情况来找到出错的原因。

7.想一道编程题

答:一个已经排好序的1.。。1000个数,从中取出一个 数,请问怎么在只有999个数的数组中找到哪个数的缺失?

答:没答出来,只想到了暴力搜索,实际上利用二分搜索(利用s[i]和i的关系)就可以的,估计面试官觉得我不懂变通吧。

8,这几年来做过觉得最有成就感的事

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值