今天是自己第一次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第一次笔试+面试总结的更多相关文章

  1. Java大厂笔试&&面试集合大全目录

    面试技巧 掌握面试技巧,提升自身软实力! HR面试都会问什么问题?(上) HR面试都会问什么问题?(下) 作为一技术人员,面试前都需要做哪些准备? 面试题 Java各个阶段面试题,帮你提升自我,拿到高 ...

  2. 20道Java实习生笔试面试选择题(内附答案解析)

    ​1.以下对继承的描述错误的是(A) A.Java中的继承允许一个子类继承多个父类 B.父类更具有通用性,子类更具体 C.Java中的继承存在的传递性 D.当实例化子类时会递归调用父类中的构造方法 解 ...

  3. 你真的了解字典(Dictionary)吗? C# Memory Cache 踩坑记录 .net 泛型 结构化CSS设计思维 WinForm POST上传与后台接收 高效实用的.NET开源项目 .net 笔试面试总结(3) .net 笔试面试总结(2) 依赖注入 C# RSA 加密 C#与Java AES 加密解密

    你真的了解字典(Dictionary)吗?   从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面 ...

  4. java笔试面试第一天

    好久未曾启用我的博客,最近来上海找工作,想将笔试面试的过程做个记录,毕竟有总结才有提高嘛.今天算是笔试面试正式开始第一天吧,以下就是我的笔试总结(没有原题了,只有知识点): 笔试题1:java sta ...

  5. 《Java程序员面试笔试宝典》终于在万众期待中出版啦~

    <Java程序员面试笔试宝典>终于在万众期待中出版啦~它是知名畅销书<程序员面试笔试宝典>的姊妹篇,而定价只要48元哦,恰逢求职季节,希望本书的出版能够让更多的求职者能够走进理 ...

  6. 《Java程序猿面试笔试宝典》之Java与C/C++有什么异同

    Java与C++都是面向对象语言,都使用了面向对象思想(比如封装.继承.多态等),因为面向对象有很多非常好的特性(继承.组合等),使得二者都有非常好的可重用性. 须要注意的是,二者并不是全然一样,以下 ...

  7. Java 笔试面试 基础篇 一

    1. Java 基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法, 线程的语法,集合的语法,io 的语法,虚拟机方面的语法. 1.一个".java& ...

  8. 《Java程序猿面试笔试宝典》之Java变量命名有哪些规则

    在Java语言中,变量名.函数名.数组名统称为标识符,Java语言规定标识符仅仅能由字母(a~z.A~Z).数字(0~9).下划线(_)和$组成,而且标识符的第一个字符必须是字母.下划线或$.此外.标 ...

  9. 《Java程序猿面试笔试宝典》之组合与继承有什么差别

    组合和继承是面向对象中两种代码复用的方式. 组合是指在新类里面创建原有类的对象,反复利用已有类的功能.继承是面向对象的主要特性之中的一个,它同意设计人员依据其他类的实现来定义一个类的实现. 组合和继承 ...

随机推荐

  1. Code Quality and Security | SonarQube

    SonarQube - 国内版 Binghttps://cn.bing.com/search?FORM=U227DF&PC=U227&q=SonarQube Code Quality ...

  2. flutter Dismissible 可以在拖动时隐藏的widget

    import 'package:flutter/material.dart'; class DismissedAppPage extends StatefulWidget { @override St ...

  3. 如何在 Linux 中更改 swappiness

    交换空间是 RAM 内存已满时使用的硬盘的一部分.交换空间可以是专用交换分区或交换文件.当 Linux 系统耗尽物理内存时,非活动页面将从 RAM 移动到交换空间.Swappiness 是一个 Lin ...

  4. osg::Node clone

    深度拷贝 node.clone(osg::CopyOp::DEEP_COPY_ALL)  osg::ref_ptr<osg::Node> deepnode = (osg::Node *)( ...

  5. OpenBLAS编译 Debug x64 Win10 vs2015

    OpenBLAS编译  Debug x64  Win10  vs2015 >------ 已启动生成: 项目: ZERO_CHECK, 配置: Debug x64 ------ > Che ...

  6. 转 mysql 存储过程初探

    https://www.cnblogs.com/qmfsun/p/4838032.htmlMySQL命令执行sql文件的两种方法 https://www.cnblogs.com/mark-chan/p ...

  7. 【429】关于ADT的访问权限

    在看老师代码的时候,发现ADT中的 struct 有时候写到了 adt.c 里面,有时候写到了 adt.h 里面,其实有些困惑,经过仔细研究,发现写在 adt.h 中的 struct 可以在 test ...

  8. spring 多个切面如何有序执行

    Spring也能支持多个切面.当有多个切面时,它不会存在任何顺序,这些顺序代码会随机生成,但是有时候我们希望它按照指定的顺序运行. 在此之前要先定义一个切点方法,为此新建一个接口——MultiBean ...

  9. intel 蓝牙驱动安装时报错

    BT_20.120.2_64_Win7.exe 安装时报错. 把系统补丁打全,就可以安装 了.

  10. SQL在线自助查询

    数据的日常查询统计分析是高频的需求,然而生产数据库由于安全.管理等方面的要求,仅仅对部分人员开发,例如DBA,总监等, 其他人员都要通过DBA才能查询数据,十分不便. 为了让DBA免于日常繁琐的工作, ...