- 浏览: 211288 次
- 性别:
- 来自: 哈尔滨
文章分类
- 全部博客 (267)
- java.lang (8)
- 问题汇总 (21)
- 异常记录 (20)
- 功能实现 (19)
- 面试总结 (25)
- 技巧总结 (8)
- 常用代码 (4)
- 编程习惯 (3)
- 编码规则 (3)
- java.util (10)
- java.io (1)
- JavaWeb (9)
- MySQL (16)
- SVN (3)
- MyBatis (11)
- Velocity (7)
- 其他知识 (10)
- 人生哲理 (1)
- 人生故事 (1)
- 自我感悟 (1)
- shiro (3)
- 基础知识 (0)
- 问题总结 (1)
- Spring 标签 (1)
- Spring (3)
- 点滴生活 (1)
- DOS (1)
- CAS (4)
- Linux (9)
- Storm (6)
- Shell (1)
- regex (1)
- Collection (4)
- poi (1)
- 经典语句 (1)
- NIO (5)
- concurrent (14)
- RPC (1)
- zookeeper (3)
- 待整理 (2)
- Hadoop (9)
- RabbitMq (2)
- flume (1)
- hive (7)
- hbase (4)
- kafka (1)
- scala (1)
- GC (0)
- java.util.concurrent.atomic (1)
- java.lang.ref (6)
- JVM (2)
- algorithm (1)
- conception (1)
- java key word (1)
- sun.misc (1)
最新评论
同事的同事招聘,于是同事帮忙推荐了一下!
2017年10月16日快下班的时候打电话问面试时间,答复待定;
2017年10月19日我回电,预约23日上午10点面试。然后对方发了邮件。
2017年10月20日,胃肠感冒,直到23日都没好,上吐下泻的,哎,天公不作美。也可以为自己的失败找点理由。
9点半到面试地点,等了约15分钟,有人出来接待。
第一轮面试:
一、基本介绍
出生地、毕业院校、工作经历、主要的项目
二、面试官问
1.数据库用过哪些
答:MySQL
简述一下索引的实现原理?(蒙,我还以为是如何使用呢?)
---------------------------------------------
共三轮面试:
1.简述数据库索引的实现原理
2.描述一下JVM的分代实现,堆、栈等等的所在位置
JVM 内存模型
3.什么情况下会出现栈溢出
4.String 为什么要使用 final 修饰的原因
-- 运用了享元模式,可以节约资源,复用
5.使用事务保证数据一致性,但使用事务会影响性能,如何在不适用事务的情况下保证数据的一致性、准确性
(考虑分布式的情景)
-- CAP定律,队列支持分布式+逻辑判断
6.扑克牌随机排序(斗地主,初始化时扑克牌会重新洗牌,打乱原有的顺序)
即如何实现随机分布且结果依旧是原来的数组(提示:用最简单的方式实现).
7.URL访问,如何根据URL定位到具体的实现方法上
答:Struts.xml 配置
继续问:如何自动匹配URL,如何实现,即不是通过Struts.xml 配置来完成跳转
答复:
a.Controller 层,即HTTP访问的URL,是通过 struts.xml 配置通配符的方式访问,进而定位到相应的接口的方法上
struts.xml使用通配符
b.模块化开发,是Controller层通过HTTP请求的方式,请求其他项目工程,此时使用的是
@RequestMapping(value = "/helloworld")
SpringMVC学习系列(3) 之 URL请求到Action的映射规则
8.Ajax请求实现方式,如何返回JSON/XML 格式的数据
return modelAndView的形式?
答:response.setType
javascript解析ajax返回的xml和json格式数据实例详解
9.Spring如何加载标签,如何识别bean
答:web.xml spring.xml 配置 scan 扫描
10.@Autowired @Resource 的区别
那个是Spring自带的,那个是根据ID 进行加载的
a。@Resource默认是按照名称来装配注入的,只有当找不到与名称匹配的bean才会按照类型来装配注入;
b。@Autowired默认是按照类型装配注入的,如果想按照名称来转配注入,则需要结合@Qualifier一起使用;
c。@Resource注解是又J2EE提供,而@Autowired是由Spring提供,故减少系统对spring的依赖建议使用
@Resource的方式;
d。 @Resource和@Autowired都可以书写标注在字段或者该字段的setter方法之上
11.检索大量日志,如何在一个1GB大小的日志文件中找到 firefox ,并输入有多少行,每行的行号
cat -n xxx.log | grep 'xxx'
12.storm 的节点
spout --> bolt 经历多少个bolt
如何 storm 版本升级或 服务中断 或其他原因造成服务停止,重新发布服务,服务重启过程中的数据如何标记或处理?
即 重启的过程中有些数据可能已经执行到了第二个bolt上,重启导致了这类的数据无法继续执行下去,如何处理?
13.zk 的应用,仅仅只是起到了连接的作用? storm 集群部署,zk中存储了什么?
14.索引的实现原理,B+/B-数,平衡二叉树,基于数据库索引描述实现原理
15.如何优化SQL
答:explain 检索查询语句;如果是 ALL 就是全表扫描,需要添加索引
order by 排序,如何优化
答:在排序的字段上加入索引,一般根据主键排序
那根据主键排序效率依然很差如何解决?
答:。。。。
如果是上亿级别的数据如何快速检索?
16.Mybatis 是使用注解 还是 XML
答:xml
参数如何配置?
答:resultType/resultMap/parameterType
使用 map
<if test="" ></if>
Mybatis 中 #{} ${}有何区别
答:
一般表名称可变的使用后者
#相当于对数据 加上 双引号,$相当于直接显示数据
#能够防止SQL注入,后者不可以
SQL注入
17.hashMap 的实现原理
答:数组+链表
线程不安全,体现在哪里?
答:遍历时 modCount 与实际操作的次数不一致时抛出异常
添加元素的流程
查询元素的流程
18.ArrayList
19.多线程都使用过那些
Thread Runnable ThreadLocal Executors.newFixed
20.RPC调用
21.DDD方式编程,格局event事务自动响应,eventListener 这种标称方式是否有接触过
22.平时关注那些博客论坛,如何提升自己?
23.SQL注入
防止SQL注入的五中方法
SQL注入实例讲解
24.SpringWeb与 Spring
25.IOC
答:控制反转,A调用B,现在通过依赖注入的方式,将B给了A
Spring 如何实现的?
26.AOP
答:日志的输出打印;举例:主从库切换的实现过程
问:Spring 底层是如何支持AOP的这种实现方式的
27.NIO
28.HashMap 不安全,如何才能让它安全
答:
CurrnentHashMap
Collections.synchronized(xxxx)
问:
第一种方式的实现原理
第二种方式是什么保证线程安全的,是在外面套了一层嘛?
答:synchronized 使用了关键字。。。
29.MAVEN 管理代码
请问 快照与 release 有和区别
xxx-snapshot
xxx-1.0.1
答:后者只有 src/main/java 包内的内容,前者是全部
问:为什么要有这两种不同的形式存在?如何一个工程同时打出以上两种JAR包,有何区别?
a.release 是稳定版本,是经过测试后的版本;快照版本是不稳定版本,是在开发中的版本;
若A升级某项目后,B想引用,则B需要在相应的工程的pom.xml文件中修改A升级的项目的版本号,来实现引用;
若A在开发过程中不断地升级JAR,而B也在引用A的项目,避免不断地修改版本号,直接替换快照即可
30.服务化框架使用过哪些?duboo
31.如何实现负载均衡、容灾
答:NGINX反向代理,负载均衡在NGINX端进行配置。zabbit容灾
32.改变数据表的引擎,期望是减小存储容量,实际上数据已经存放,此时改变存储引擎已经不会启动作用,而是应该将数据重新导入到一个新建立的是哪个存储引擎的表上才可以
背景:公司内部一个日志收集系统,收集每日的服务器的推送信息;落地存储到MySQL上。存储时表的引擎为InnoDB,再由其他工程将历史数据表的存储引擎改为Tokudb(优点是体积小);实际未起到作用,因为存储时数据表的空间大小已确认,简单的修改存储引擎并不会改变表的存放体积,需要将数据重新导入到新的Tokudb引擎建立的表中
2017年10月16日快下班的时候打电话问面试时间,答复待定;
2017年10月19日我回电,预约23日上午10点面试。然后对方发了邮件。
2017年10月20日,胃肠感冒,直到23日都没好,上吐下泻的,哎,天公不作美。也可以为自己的失败找点理由。
9点半到面试地点,等了约15分钟,有人出来接待。
第一轮面试:
一、基本介绍
出生地、毕业院校、工作经历、主要的项目
二、面试官问
1.数据库用过哪些
答:MySQL
简述一下索引的实现原理?(蒙,我还以为是如何使用呢?)
---------------------------------------------
共三轮面试:
1.简述数据库索引的实现原理
2.描述一下JVM的分代实现,堆、栈等等的所在位置
JVM 内存模型
3.什么情况下会出现栈溢出
4.String 为什么要使用 final 修饰的原因
-- 运用了享元模式,可以节约资源,复用
5.使用事务保证数据一致性,但使用事务会影响性能,如何在不适用事务的情况下保证数据的一致性、准确性
(考虑分布式的情景)
-- CAP定律,队列支持分布式+逻辑判断
6.扑克牌随机排序(斗地主,初始化时扑克牌会重新洗牌,打乱原有的顺序)
即如何实现随机分布且结果依旧是原来的数组(提示:用最简单的方式实现).
7.URL访问,如何根据URL定位到具体的实现方法上
答:Struts.xml 配置
继续问:如何自动匹配URL,如何实现,即不是通过Struts.xml 配置来完成跳转
答复:
a.Controller 层,即HTTP访问的URL,是通过 struts.xml 配置通配符的方式访问,进而定位到相应的接口的方法上
struts.xml使用通配符
b.模块化开发,是Controller层通过HTTP请求的方式,请求其他项目工程,此时使用的是
@RequestMapping(value = "/helloworld")
SpringMVC学习系列(3) 之 URL请求到Action的映射规则
8.Ajax请求实现方式,如何返回JSON/XML 格式的数据
return modelAndView的形式?
答:response.setType
javascript解析ajax返回的xml和json格式数据实例详解
9.Spring如何加载标签,如何识别bean
答:web.xml spring.xml 配置 scan 扫描
10.@Autowired @Resource 的区别
那个是Spring自带的,那个是根据ID 进行加载的
a。@Resource默认是按照名称来装配注入的,只有当找不到与名称匹配的bean才会按照类型来装配注入;
b。@Autowired默认是按照类型装配注入的,如果想按照名称来转配注入,则需要结合@Qualifier一起使用;
c。@Resource注解是又J2EE提供,而@Autowired是由Spring提供,故减少系统对spring的依赖建议使用
@Resource的方式;
d。 @Resource和@Autowired都可以书写标注在字段或者该字段的setter方法之上
11.检索大量日志,如何在一个1GB大小的日志文件中找到 firefox ,并输入有多少行,每行的行号
cat -n xxx.log | grep 'xxx'
12.storm 的节点
spout --> bolt 经历多少个bolt
如何 storm 版本升级或 服务中断 或其他原因造成服务停止,重新发布服务,服务重启过程中的数据如何标记或处理?
即 重启的过程中有些数据可能已经执行到了第二个bolt上,重启导致了这类的数据无法继续执行下去,如何处理?
13.zk 的应用,仅仅只是起到了连接的作用? storm 集群部署,zk中存储了什么?
14.索引的实现原理,B+/B-数,平衡二叉树,基于数据库索引描述实现原理
15.如何优化SQL
答:explain 检索查询语句;如果是 ALL 就是全表扫描,需要添加索引
order by 排序,如何优化
答:在排序的字段上加入索引,一般根据主键排序
那根据主键排序效率依然很差如何解决?
答:。。。。
如果是上亿级别的数据如何快速检索?
16.Mybatis 是使用注解 还是 XML
答:xml
参数如何配置?
答:resultType/resultMap/parameterType
使用 map
<if test="" ></if>
Mybatis 中 #{} ${}有何区别
答:
一般表名称可变的使用后者
#相当于对数据 加上 双引号,$相当于直接显示数据
#能够防止SQL注入,后者不可以
SQL注入
17.hashMap 的实现原理
答:数组+链表
线程不安全,体现在哪里?
答:遍历时 modCount 与实际操作的次数不一致时抛出异常
添加元素的流程
查询元素的流程
18.ArrayList
19.多线程都使用过那些
Thread Runnable ThreadLocal Executors.newFixed
20.RPC调用
21.DDD方式编程,格局event事务自动响应,eventListener 这种标称方式是否有接触过
22.平时关注那些博客论坛,如何提升自己?
23.SQL注入
防止SQL注入的五中方法
SQL注入实例讲解
24.SpringWeb与 Spring
25.IOC
答:控制反转,A调用B,现在通过依赖注入的方式,将B给了A
Spring 如何实现的?
26.AOP
答:日志的输出打印;举例:主从库切换的实现过程
问:Spring 底层是如何支持AOP的这种实现方式的
27.NIO
28.HashMap 不安全,如何才能让它安全
答:
CurrnentHashMap
Collections.synchronized(xxxx)
问:
第一种方式的实现原理
第二种方式是什么保证线程安全的,是在外面套了一层嘛?
答:synchronized 使用了关键字。。。
29.MAVEN 管理代码
请问 快照与 release 有和区别
xxx-snapshot
xxx-1.0.1
答:后者只有 src/main/java 包内的内容,前者是全部
问:为什么要有这两种不同的形式存在?如何一个工程同时打出以上两种JAR包,有何区别?
a.release 是稳定版本,是经过测试后的版本;快照版本是不稳定版本,是在开发中的版本;
若A升级某项目后,B想引用,则B需要在相应的工程的pom.xml文件中修改A升级的项目的版本号,来实现引用;
若A在开发过程中不断地升级JAR,而B也在引用A的项目,避免不断地修改版本号,直接替换快照即可
30.服务化框架使用过哪些?duboo
31.如何实现负载均衡、容灾
答:NGINX反向代理,负载均衡在NGINX端进行配置。zabbit容灾
32.改变数据表的引擎,期望是减小存储容量,实际上数据已经存放,此时改变存储引擎已经不会启动作用,而是应该将数据重新导入到一个新建立的是哪个存储引擎的表上才可以
背景:公司内部一个日志收集系统,收集每日的服务器的推送信息;落地存储到MySQL上。存储时表的引擎为InnoDB,再由其他工程将历史数据表的存储引擎改为Tokudb(优点是体积小);实际未起到作用,因为存储时数据表的空间大小已确认,简单的修改存储引擎并不会改变表的存放体积,需要将数据重新导入到新的Tokudb引擎建立的表中
发表评论
文章已被作者锁定,不允许评论。
-
京东商城--商城研发部面试
2017-12-01 19:30 5882017年12月01日 笔试题目 1. final fina ... -
海量日志数据,提取出某日访问百度次数最多的那个IP
2017-11-29 21:18 2222问题:一个的日志文件中存放IP地址,按照访问量对IP地址取访问 ... -
输出十进制数字的二进制数的表示
2017-11-03 23:16 1102一、代码如下: public static void m ... -
将数组中的内容随机打乱
2017-10-27 22:45 512问题:斗地主游戏,开局会将纸牌重新打乱,请用数组的随机排序实现 ... -
JVM基础
2017-10-26 22:41 424一、Java 运行时区域 《 ... -
String为什么使用final 修饰
2017-10-25 22:32 970主要是为了”安全性“和”效率“的缘故 1、由于String类 ... -
沐金地面试记录
2017-10-25 22:15 50510.25 下午同事帮忙投递的,约在晚上面试,下班之后赶紧去了 ... -
编程题目(一)
2017-09-28 22:28 3991.函数:参数为两个字符串a,b ,判断 b 中是否包含 a ... -
值传递与引用传递
2017-05-30 12:25 329一、值传递与引用传递 其实按值还是按引用的区别在于“是否在传 ... -
装箱与拆箱
2016-10-24 22:46 536public class IntegerTest { ... -
可变性与不可变性
2015-06-01 20:55 450String StringBuilder StringBuff ... -
CS架构和BS架构的区别
2015-05-25 08:50 480一、简介 1.C/S结构,即 ... -
HTTP常见响应状态码
2015-05-20 08:26 419问题:程序调试过程中 ... -
JIT的概念
2015-05-19 18:48 707参考文献: http://blog.csdn.net/yan ... -
JDK与JRE与JVM的区别
2015-05-19 18:45 11011.JDK (1)概念 JDK : Java Developm ... -
运行时与编译时
2015-05-17 18:05 538运行时与编译时 博文转载:http://www.import ... -
System.exit(0)与return的区别
2015-05-17 16:49 1035问题:System.exit(0)与return的区别 1. ... -
重载(overloading)与重写(overriding)
2015-05-17 15:50 638问题:重载(overloading)与重写(overridin ... -
==和equals
2015-05-15 20:07 653参考文献: http://www.cnblogs.com/zh ... -
return finally 与 System.exit(n)
2015-05-10 18:00 674问题:System.exit(n);的含义以及作用 说明: ...
相关推荐
《LCD驱动芯片JD9852的详尽解析》 LCD(Liquid Crystal Display)液晶显示器作为现代电子设备中广泛使用的显示技术,其核心组件之一就是LCD驱动芯片。本文将聚焦于JD9852这款专为驱动QVGA(Quarter Video Graphics ...
JD-GUI是一个用于反编译Java字节码的图形化工具。要使用JD-GUI反编译JAR文件,请按照以下步骤操作: 下载并安装JD-GUI:访问JD-GUI官方网站(http://java-decompiler.github.io/),下载最新版本的JD-GUI。 打开...
JD9365 datasheet 说明书,内含寄存器说明等,适用于各个平台调试参考
天鈺科技TFT-LCD Driver,型号JD9365Z,网上资料比较少
《Java反编译神器:JD-GUI深度解析》 在Java开发领域,有时我们需要查看已编译的.class文件内部的源代码,以便于理解代码逻辑、调试或学习。这时,一款强大的Java反编译工具就显得尤为重要。"jd-gui.rar"正是这样的...
jd9161 wvga分辨率在MTK平台下的驱动程序
JD9161是显示IC(集成电路)的一种,其规格书资料即数据手册(datasheet)对电子工程师及现场应用工程师(FAE)来说是必备的重要参考。本文档详细介绍了JD9161的特性、应用、引脚定义、接口协议等,为使用者提供了...
Java反编译工具jd-gui是一款专为Java开发者设计的实用工具,用于查看Java字节码的源代码。它能够将已编译的.class文件还原为可读的.java源代码,这对于理解已有的库或者研究代码行为非常有帮助。本文将深入探讨jd-...
1. 安装。 不需要安装和设置。 2. 描述 JD-GUI是一个独立的图形实用工具,显示...5.1 Windows:删除“jd-gui.exe”和“jd-gui.cfg”。 5.2 Linux:删除“jd-gui”应用文件和“jd-gui.cfg”。 5.3 OSX:拖放“JD-GUI
jd-gui-windows-1.6.6.zip windows版本 jd-eclipse-2.0.0.zip eclipse插件包,直接本地安装即可 jd-gui-1.6.6.jar java版本,只要装了jdk的操作系统都可以使用 jd-gui-1.6.6-min.jar java版本浓缩版,只要装了jdk的...
此时,JD-GUI工具和它的Eclipse插件就显得尤为重要。 JD-GUI是一个独立的应用程序,它能够反编译Java字节码(.class文件)并以源代码的形式显示出来。这对于我们分析没有源码的库或者理解运行时行为非常有用。JD-...
《使用JD-GUI工具进行Java反编译及项目重构》 在软件开发过程中,有时我们需要查看或理解已编译的Java类文件的源代码,但原始的源代码可能丢失或者不可用。在这种情况下,反编译工具就显得尤为重要。本文将详细介绍...
《JD-GUI:Java反编译利器在Windows平台上的应用》 JD-GUI是一款强大的Java反编译工具,尤其在Windows平台上,它以其便捷性和高效性受到开发者的青睐。标题中的"jd-gui-windows-1.4.0.zip_jd gui 1.4_jd-gui_...
JD9365AA配BOE10.1+JD5002 MIPI SSD2828初始化代码
《JD-Eclipse:Java开发者的重要辅助工具》 JD-Eclipse是一款功能强大的反编译工具,专为Java开发者设计,能够帮助用户查看并理解已编译的.jar文件中的源代码。这款工具作为Eclipse IDE的一个插件,使得在不拥有...
《JD-SDK快递对接依赖包详解》 在现代电商行业中,快速、准确的物流信息对接是提升用户体验和服务质量的关键一环。京东(JD)作为国内知名的电商平台,为开发者提供了便捷的JD-SDK(京东物流SDK),帮助开发者实现...
mac下java反编译工具jd-gui 1.4.0mac下java反编译工具jd-gui 1.4.0mac下java反编译工具jd-gui 1.4.0mac下java反编译工具jd-gui 1.4.0mac下java反编译工具jd-gui 1.4.0mac下java反编译工具jd-gui 1.4.0mac下java反...
JD-GUI 1.4 官方MAC版本是一款专为苹果Mac操作系统设计的JAVA类文件反编译工具。它提供了一个直观的图形用户界面(GUI),使得开发者和程序员能够查看Java字节码(.class文件)的源代码,即使原始的源代码不再可用。...
"JD GUI" 是一个 Java 反编译工具,它允许用户查看 Java 字节码文件(.class 文件)中的源代码。JD GUI 由 Pierre-Yves Ricau 开发,并且是一个开源项目。这个工具对于那些需要理解或调试没有源代码可用的 Java 应用...
JD-GUI是一款强大的Java反编译工具,它能够将字节码(.class)文件转换回源代码(.java)形式,便于开发者查看和理解已编译的Java程序。将JD-GUI注册到右键菜单,意味着用户可以直接在Windows操作系统中通过鼠标右键选择...