码迷,mamicode.com
首页 > 编程语言 > 详细

java第一次笔试+面试总结

时间:2019-11-16 21:57:56      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:总数   本地   如何   运行时   size   指定位置   理解   数据持久化   sessionid   

今天是自己第一次java笔试和面试,总体感觉比预期好一点。

笔试题第一面是问答题,主要考查java基础,一共有18题,我有6道题没有写出来。第二面主要是算法题,一共有8道题,我大概写出来4道题,第三面主要是逻辑题和涉及http,

操作系统的一些题目,我做的太慢了,根本就没做到哈哈哈哈。

下面整理一下10道不会的题目,希望以后继续加油啦!

1.持久层设计要考虑哪些问题?你用过的持久层框架有哪些?

答:”持久“就是将数据保存到可掉电式存储设备中以便以后使用。简单来说,就是将内存中的数据保存到关系型数据库、文件系统、消息队列等提供持久化支持的设备中。持久

层就是专注于实现数据持久化的相对独立的层面。

持久层设计的目标包括:

一数据存诸逻辑的分离,提供抽象化的数据访问接口

一数据访问底层实现的分离,可以在不修改代码的情况下切换底层实现

一资源管理和调度的分离,在数据访问层实现统一的资源调度(如缓存机制)

一数据抽象,提供更面向对象的数据操作

持久层框架有”Hibernate Mybatis ,Toplink, Guzz,jOOQ,Spring Data, .ActiveJDBC。

2、什么是IOC和DI ? DI是如何实现的?

答:I0C叫控制反转,是Inversion of Control的缩写, DL (Depedency Injection)叫依赖注入,是对IOC更简单的诠释。控制反转是把传统上由程序代码直接操控的对象的调用权交

给容器,由容器来创建并管理对象之间的依赖关系。依赖注入的基本原则是应用组件不应该负责查找资源或者其他低赖的协作作象。配置对象的工作应该由容器负责,查找资源的

逻辑应该从应用组件的代码中抽取出来交给容器完成。(由容器动态的将某种依赖关系注入到组件之中)。

依赖注入通过setter 方法注入、构造器注入,接口注入,Spring支持setter注入和构造器注入,用构造器注入必须的赖关系,setter注入可选的依赖关系,setter注入需要类提供无

参构造器或者无参的静态工厂方法来创建对象。

3、解释一下什么叫AOP(面向切面编程)?

答:AOP是一种程度设计范型,该范型以一种称为切面(aspect)的语言构造为基础,切面是一种新的模块化机制,用来描述分散在对象、类或方法中的横切关注点,在运行时,动

态的将代码切入到类的指定方法、指定位置上的编程思想。

4.快速排序中如何选择界值(即基准点)会更有效率?

答:一般选择第一个位置是错误的,因为如果输入是预排序的或反序的,则是个劣质的分割;

一种安全的选法是随机选取“基准”,但随机数的生成一般是昂贵的;

三数中值分割法:“基准”的最好选择是中数.但是中数很难算出,且会减慢排序的速度,我们可以将左端、右端和中心位置上的三个元素的中值作为基准。

5、谈谈对数据库索引的理解?

答:索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访向数据库表中的特定信息。建立索引的目的是加快对表中记录的查找或排序,但也有缺点:

(1)增加了数据库的存储空间

(2)在插入和修改数据时索引也要随之变动

6、如何查询一个表中的第4到8行数据?

答:Limt: (第1个参数是起始置,第2个参数是记录总数)

(1)一个参数: select * fpom table  LIMIT 5 ;检查前5行

(2)两个参数:selet * from table LIMIT 5,10
                   检索第6到15行 (注意5是6,第10行是15 不是16)

(3).参数中有-1 : select  * from table LIMIT 95,-1
                    检索第96行到最后一行

7、如何编写一个用户注册接口?

答案见链接:https://www.cnblogs.com/iceywu/p/11873457.html
8. Cookie 和session的作用是什么?有什么区别?

答:二者都是会话技术,为保存用户状态,解决http无状态问题,用户第一次访问服务器时,服生器端会生成并返回一个cookie,当用户再次访问服务器端时,带着自己的cookie

发送给服务器端,服务器端与自己的cookie列表进行比救,成功则返回用户信息。

用户在访问多个页面时需要保寸登录消息,我们在服务器端开辟一个空间来保存这些消息,即session技术。当服务器端第一次返回cookie时,cookie键值对的键即为sesionID.值

为ID ,当用户再发送cookie时,服务器端即根据sessionID来取得消息,所以session是实现在cookie基础上的。

区别:

(1) Cookie 运行于客户端, session运行于服务器端

(2)Cookie 有大小限制以及浏览器中cookie个数也有限制,session没有大小限制,和服务器内存有关。

(3) Cookie有安全隐患,通过拦截或本地文件得到cookie后进行改击

(4) Session保存在服务器端,会存在一段时间才消失。

9.想恰好购买n个苹果,有6个一袋和8个一袋,且购买尽量少的袋数,如何购买?

答案见链接:https://www.cnblogs.com/iceywu/p/11862554.html

10:常见的排序算法有哪些?代码如何实现?

答案见链接:https://www.cnblogs.com/iceywu/p/11862550.html

java第一次笔试+面试总结

标签:总数   本地   如何   运行时   size   指定位置   理解   数据持久化   sessionid   

原文地址:https://www.cnblogs.com/iceywu/p/11862544.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!