Java研发岗位面试归类B(附答案)

时间:2023-02-01 12:28:15

本文承接上文:Java研发岗位面试归类A(附答案): http://www.cnblogs.com/wp5719/p/5870243.html

答案自己网上找的,如有纰漏或错误,烦请指教。

七.数据库MySql

1.MySql的存储引擎的不同.

MyISAM拥有较高的插入,查询速度,但不支持事务.
 InnoDB5.5版本后Mysql的默认数据库,事务型数据库的首选引擎,支持ACID事务,支持行级锁定.
 BDB:源自Berkeley DB,事务型数据库的另一种选择,支持COMMITROLLBACK等其他事务特性.
 Memory:所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失.
 Merge:将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用.
 Archive:非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差.
 Federated:将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用.
 Cluster/NDB:高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用.
 CSV:逻辑上由逗号分割数据的存储引擎。它会在数据库子目录里为每个数据表创建一个.CSV文件。这是一种普通文本文件,每个数据行占用一个文本行。CSV存储引擎不支持索引。
 BlackHole:黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继.

谈谈MySQL两种存储引擎: http://www.cnblogs.com/kevingrace/p/5685355.html

2.单个索引、联合索引、主键索引.

索引: http://baike.baidu.com/link?url=anMTlZBhAAQVPC8Hw0rvWa8bvSTGpwSBfMBsIfLjIC1WvqaofHarepiTXI_-HPMaOhv8H7-fto3g1OQTNRXqtvFqn0WtsZ0_9odRP5IRODO

3.Mysql怎么分表,以及分表后如果想按条件分页查询怎么办(如果不是按分表字段来查询的话,几乎效率低下,无解).

参考答案:http://blog.csdn.net/ahjxhy2010/article/details/50540500

MySQL优化分库分表: http://www.4wei.cn/archives/1001958

4.分表之后想让一个id多个表是自增的,效率实现.

MySQL分表自增ID解决方案: http://www.ttlsa.com/mysql/mysql-table-to-solve-the-increment-id-scheme/

MySQL分库分表环境下全局ID生成方案: https://my.oschina.net/u/142836/blog/174465

5.MySql的主从实时备份同步的配置,以及原理(从库读主库的binlog),读写分离.

MySql实现主从热备和读写分离: http://blog.csdn.net/sanjay_f/article/details/48916171

6.常用SQL语句.
  7.索引的数据结构,B+树.

B+ Tree的由来、数据结构、基本操作以及数据库索引的应用: http://www.cnblogs.com/yanghuahui/p/3483047.html

B-树和B+树的应用:数据搜索和数据库索引: http://blog.csdn.net/hguisu/article/details/7786014

8.事务的四个特性,以及各自的特点(原子、隔离)等等,项目怎么解决这些问题.
  9.数据库的锁:行锁,表锁;乐观锁,悲观锁.

参考答案:http://blog.itpub.net/11627468/viewspace-1788399/

10.数据库事务的几种粒度.

数据库事务的4种粒度: 数据库级表级记录级(行级)属性级(字段级)

数据库事务四种隔离级别: http://blog.csdn.net/tolcf/article/details/49283575

11.关系型和非关系型数据库区别.

1) 非关系型数据库的优势:

(1) 性能: NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL层的解析,所以性能非常高。
    (2) 可扩展性: 同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。

2) 关系型数据库的优势:

(1) 复杂查询: 可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。
    (2) 事务支持: 使得对于安全性能很高的数据访问要求得以实现。

九.设计模式

1.单例模式:饱汉、饿汉。以及饿汉中的延迟加载,双重检查.

单例模式与双重检测: http://jiangzhengjun.iteye.com/blog/652440

2.工厂模式、装饰者模式、观察者模式。

(1) 工厂模式: http://www.cnblogs.com/forlina/archive/2011/06/21/2086114.html

(2) 装饰模式: http://baike.baidu.com/link?url=p0pm9H92tYkZ8ANRGr9njL6-Ysd9uX6LoW-MgplC-PQqjKeJN8bRD_VX7y6OE7O_cxlgB08keCIC0rg272aVqmrtkLrCrxI9GSZ_9JsLIPdeOmJHfTpsCNKNWSqznOXr

(3) 观察者模式: http://www.cnblogs.com/wangjq/archive/2012/07/12/2587966.html

3.工厂方法模式的优点(低耦合、高内聚,开放封闭原则).

开放封闭原则(Open Closed Principle):  http://www.cnblogs.com/gaochundong/p/open_closed_principle.html

十.并发与性能调优

1.有个每秒钟5k个请求,查询手机号所属地的笔试题(记得不完整,没列出),如何设计算法?请求再多,比如5w,如何设计整个系统?
  2.高并发情况下,我们系统是如何支撑大量的请求的.

@大量用户访问、高并发请求方面, 基本的解决方案http://f.dataguru.cn/thread-609724-1-1.html

大型高并发高负载网站的系统架构:http://www.cnblogs.com/Safe3/archive/2010/09/07/1820722.html

3.集群如何同步会话状态.

集群中几种session同步解决方案的比较: http://blog.csdn.net/shimiso/article/details/8978922

4.负载均衡的原理.

六大Web负载均衡原理与实现: http://www.open-open.com/lib/view/open1416924842581.html

5.如果有一个特别大的访问量,到数据库上,怎么做优化(DB设计,DBIO,SQL优化,Java优化).

参考答案: http://wenku.baidu.com/link?url=tbiLiJCuGdmcaDO4iP5BKty7syFZv-9_a5zUqcc39pWNHE8IcMGAIeskE80fHcMSymimvi6XSOMoE0i1QzwPEaeDVIuaeRxJX2a7LrhsKsa

6.如果出现大面积并发,在不增加服务器的基础上,如何解决服务器响应不及时问题.

如何提高服务器并发处理能力: http://www.cnblogs.com/zengjin93/p/5569556.html

7.假如你的项目出现性能瓶颈了,你觉得可能会是哪些方面,怎么解决问题。

三个方面解决性能问题的基本思路和方法: http://m.2cto.com/kf/201607/527426.html

http://www.360doc.com/content/15/0727/08/14765814_487648123.shtml

8.如何查找造成性能瓶颈出现的位置,是哪个位置照成性能瓶颈。

五步定位性能瓶颈: http://www.cnblogs.com/zhangyublogs/p/4965870.html

性能测试如何定位瓶颈: http://blog.csdn.net/zhuff0418/article/details/6906862

9.你的项目中使用过缓存机制吗?有没用用户非本地缓存.

使用缓存的9大误区: http://kb.cnblogs.com/page/138696/

Java实现redis缓存技术:https://my.oschina.net/Tsher2015/blog/512919

网站缓存技术: http://dcross.iteye.com/blog/721468

十.操作系统

1.常用的linux下的命令:

Linux中常用操作命令: http://www.cnblogs.com/laov/p/3541414.html

十一.其他

在redis使用过程遇到的一些问题的总结: http://olylakers.iteye.com/blog/2089275

2.消息中间件:

1) 消息中间件的技术选型心得-RabbitMQ、ActiveMQ和ZeroMQ: http://blog.csdn.net/chszs/article/details/8479072

2) 强大的分布式消息中间件—kafka: http://blog.csdn.net/yangchao228/article/details/40583765

3) kafka与传统的消息中间件对比: http://www.cnblogs.com/duanxz/p/4610827.html

3.基本Web前端常识:

1) ES6: http://blog.csdn.net/wp1603710463/article/details/51428494

2) CSS3: http://www.ibm.com/developerworks/cn/web/1202_zhouxiang_css3/

4.红黑树: http://www.cnblogs.com/yangecnu/p/Introduce-Red-Black-Tree.html

5.如何给100亿个数字排序? http://www.jianshu.com/p/8dc11152f178?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

6.如何快速的解决Maven依赖冲突?  http://www.cnblogs.com/dingyingsi/p/3725340.html

7.Spring Bean的生命周期.  http://www.cnblogs.com/zrtqsk/p/3735273.html

8.Java中的深拷贝和浅拷贝: http://www.jb51.net/article/48201.htm

9.Spring注解原理的详细剖析与实现: http://freewxy.iteye.com/blog/1149128/

Java研发岗位面试归类B(附答案)的更多相关文章

  1. Java研发岗位面试归类A(附答案)

    题目来自http://www.codeceo.com/article/201-java-interview-qa.html,答案自己网上找的,如有疏漏,欢迎斧正.一起学习,共同进步. 一.Java基础 ...

  2. 200个最常见的JAVA面试问题(附答案)

    本文内容: 20个最常见的JAVA面试问题(附答案) 13个单例模式JAVA面试问题(附答案) 说说JVM和垃圾收集是如何工作的(附答案) 说说如何避免JAVA线程死锁(附答案) Java中HashS ...

  3. 【转】asp.net c# 网上搜集面试题目大全(附答案)

    asp.net c# 网上搜集面试题目大全(附答案) http://www.cnblogs.com/hndy/articles/2234188.html

  4. Java高级面试题整理(附答案)

    这是我收集的10道高级Java面试问题列表.这些问题主要来自 Java 核心部分 ,不涉及 Java EE 相关问题.你可能知道这些棘手的 Java 问题的答案,或者觉得这些不足以挑战你的 Java ...

  5. java redis面试专题(附答案)

    1.什么是Redis?简述它的优缺点? Redis的全称是:Remote Dictionary.Server,本质上是一个Key-Value类型的内存数据库,很像 memcached,整个数据库统统加 ...

  6. asp.net c# 网上搜集面试题目大全(附答案)

    1.String str=new String("a")和String str = "a"有什么区别? String str = "a"; ...

  7. Java面试题汇总---升级版(附答案)

    前几天写了Java面试题汇总---基础版,总结了面试中常见的问题及答案,那我今天基于昨天的话题做一次升级,也就是说,求职者除了要学习了解哪些常见的基础面试题之外,还得准备些什么呢? 对有工作经验的求职 ...

  8. 最新最全的Java面试题整理(内附答案)

    Java基础知识篇 面向对象和面向过程的区别 面向过程: 优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机.嵌入式开发.Linux/Unix等一般采用面向过程开发, ...

  9. Java面试题大汇总(附答案)

    下列面试题都是在网上收集的,本人抱着学习的态度找了下参考答案,有不足的地方还请指正,更多精彩内容可以关注我的微信公众号:Java团长 相关概念 面向对象的三个特征 封装,继承,多态.这个应该是人人皆知 ...

随机推荐

  1. ajax和jquery

    ajax的定义: AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJAX = 异步 Ja ...

  2. K最近邻算法

    K最近邻(K-Nearest-Neighbour,KNN)算法是机器学习里简单易掌握的一个算法.通过你的邻居判断你的类型,“近朱者赤,近墨者黑”表达了K近邻的算法思想. 一.算法描述: 1.1 KNN ...

  3. jquery登录验证插件

    最近写了个登录验证的jquery插件,其中功能还不是很完善,需要进一步改进,先放出来看看先. /** * 功能描述:本模块实现普通网站登录验证,以后可以添加二维码验证,以及第三方帐号登录验证 * 关联 ...

  4. agentzh --春哥--调试专家

    https://github.com/agentzh/perl-systemtap-toolkit https://github.com/openresty http://openresty.org/ ...

  5. unity3D基础学习 通过判断鼠标点击的是否是目标物体,物体旋转,滑动滚轮缩放拉近视角

    贴代码: 摄像机的拉近视角代码: public Transform target;     public float minFov = 15f;     public float maxFov = 7 ...

  6. Longtail Hedgehog(DP)

    Longtail Hedgehog time limit per test 3 seconds memory limit per test 256 megabytes input standard i ...

  7. 【Unity 3D】学习笔记三十九:控制组件

    控制组件 角色控制组件和刚体组件都具备物理引擎的功能,须要绑定游戏对象才干实现对应的物理效果,而且同一个游戏对象中两者仅仅能存在一个,不能共存.刚体组件能够很精确的模拟现实世界中的一切物理效果,而角色 ...

  8. ios 概况了解

    iOS的系统架构分为四个层次:( iOS是基于UNIX内核,android是基于Linux内核) 核心操作系统层(Core OS layer).核心服务层(Core Services layer).媒 ...

  9. asp.net web api 构建api帮助文档

    1 概要 创建ASP.NET Web Api 时模板自带Help Pages框架. 2 问题 1)使用VS创建Web Api项目时,模板将Help Pages框架自动集成到其中,使得Web Api项目 ...

  10. 3.2Python数据处理篇之Numpy系列(二)--- ndarray数组的创建与变换

    目录 (一)ndarray数组的创建 1.从列表以元组中创建: 2.使用函数创建: (二)ndarray数组的变换 1.维度的变换: 2.类型的变换: 目录: 1.ndarray数组的创建 2.nda ...