- 浏览: 51592 次
- 性别:
- 来自: 深圳
最新评论
-
小天开始学java:
讲的太宽泛,等于没说
Java开发面试考察点
文章列表
原文出处: 占小狼
从《关于Java面试,你应该准备这些知识点》 一文的阅读量和点赞程度可以发现,貌似大家更喜欢这类文章,也许是技术型的文章看着比较的枯燥,这些只是我近段时间求职面试时所遇到的一些问题,整理出来希望对有需要的同学提供帮助,可以更系统的去学习各个知识点。
虚拟机JVM相关
这块内容并非每个面试官都会问,但是如果是应聘高级职位的话,这一环节是不可缺少的,面试的难易程度也不一样,有些面试官或许让你讲讲虚拟机的内存模型即可,有些也会让你解释垃圾回收的实现,当然也会有虚拟机调优的实战经验,线上问题排查等等。
场景对话:面试官:Java虚拟机有了解么?
我:恩,略有接触过...( ...
原文出处: 占小狼
马老师说过,员工的离职原因很多,只有两点最真实:
钱,没给到位
心,受委屈了
当然,我是想换个平台,换个方向,想清楚为什么要跳槽,如果真的要跳槽,想要拿到一个理想的offer,除了运气,基 ...
1、技术一般
2、外包
3、要求薪资过高
4、年纪过大
5、简历存在纯粹复制技术性描述内容嫌疑
(注:虽然有点招黑的感觉,但这几点很容易让我pass掉简历)
(声明:我不是一个很好的技术面试官,我也只会问简单的问题。)
今天面试第一个java开发(3年工作经验),职位要求稍高,pass理由:
1、主动学习能力极差(重点)
a、对之前做了两年多的公司项目,整体技术了解不够。项目中除了自己做的基础功能,其他的都不清楚。
b、对新的技术学习,了解甚少,几乎为零。
2、掌握的技术基础停留在刚毕业或毕业一年水平
简历没有突出技术点、面试过程对如何应该技术处理问题总结归纳极差。
今天处理一个生产环境报NullPointerException的问题,根据查询的对象,获得对象中的一个字段,结果为空。
报错位置:int partnerCode = servicefeeRecord.getPartnerCode().intValue();
(注:本身这直接取字段不判断是否为空,就获得它的int值。写法本身就有点问题,虽然业务上这个字段一定存在。)
定位问题步骤:
1、查看生产数据库,对象对应的数据改字段是有值的。
为啥没查出来?继续找问题。
2、从源头定位起,从查询对象的service方法,找到dao方法,再找到mapper文件里面的查询sql ...
Spring支持的事务管理类型有哪些?
- 博客分类:
- 面试
编程式事务管理,在代码中显式调用开启事务、提交事务、回滚事务的相关方法
声明式事务管理,底层是建立在 AOP 的基础之上。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标 ...
Spring怎样开启注解装配?
- 博客分类:
- 面试
注解装配在默认情况下是不开启的。为了使用注解装配,我们必须在Spring配置文件中配置 <context:annotation-config/>元素。
Spring框架中的单例bean是线程安全的吗?
- 博客分类:
- 面试
不,Spring框架中的单例bean不是线程安全的。
拓展:
Spring作用域(scope)的配置区别:
非线程安全:Singleton(默认): Spring容器只存在一个共享的bean实例。
线程安全: Prototype: 每次对bean的请求都会创建一个新的bean实例。
使用实例:
DAO层的实现类推荐设置scope="singleton",这些类没有状态,只需用singleton只需维护一个实例,可提高性能。
Struts2的action类推荐设置scope="prototype",action显然是有状态的 ...
轻量:Spring 是轻量的,基本的版本大约2MB。
控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。
面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。
容器:Spring 包含并管理应用中对象的生命周期和配置。
MVC框架:Spring的WEB框架是个精心设计的框架,是Web框架的一个很好的替代品。
事务管理:Spring 提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局事务(JTA)。
异常处理:Spring 提供方便的API把具体技术相关的异常(比如由JDBC,Hi ...
java基础系列:
JDK7Java学习笔记.pdf
Java程序性能优化——让你的Java程序更快、更稳定.pdf
代码整洁之道.pdf
Java Rules中文版.pdf
Java必须知道的300个问题.pdf
Java虚拟机并发编程.pdf
新手学Java7编程(第五版).pdf
Effective Java中文版.pdf
effectiveJava effective-enterprise-java-zh.pdf
Java 7编程高级进阶.pdf
Java 并发编程实战.pdf
Java编程规范(第三版).pdf
Java编程思想(第四版).pdf
JAV ...
JVM-1、内存结构
- 博客分类:
- 学习
类加载器:加载类文件到内存。
JVM内存分配:
1、方法区:存放类信息。
2、堆:存放对象实例。
回收器主要管理的对象。
3、Java栈:存储局部变量表、操作栈、动态链接、方法出口。
4、本地方法栈:与Java类似。
区别:
Java栈为虚拟机执行Java 方法服务。
本地方法栈为虚拟机执行Native 方法服务。
...
案例3:网购秒杀系统架构设计案例
- 博客分类:
- 学习
秒杀系统应对策略:
1、秒杀系统独立部署
2、秒杀商品页面静态化
3、租借秒杀活动网络带宽
4、动态生成随机下单页面URL
秒杀系统架构设计
1、秒杀系统页面设计尽可能简单
2、购买按钮只有活动开始时可点击
3、下单尽可能简单
案例2:维基百科高性能架构演化设计
- 博客分类:
- 学习
www.wikipedia.org
相比同流量级别有百度、谷歌,背后市值数百亿美金、员工上万、服务器无数,服务器数百台,维护人员十余名。
网站建立在LAMP上。
架构组成部分:
GeoDNS:可将域名解析到离用户最近的服务器
LVS: 基于Linux的开源负载均衡服务器
Squid: 基于Linux的开源反向代理服务器
Lighttpd: 开源的应用服务器(更轻量、更快速,许多网站使用它作为图片服务器)
...
案例1:淘宝网架构演化
- 博客分类:
- 学习
业务驱动技术
2003 C2C交易软件 淘宝网原型
PHP 汉化 数据库读写分离
Linux+Apache+MySQL+PHP(LAMP)架构
2004 业务由拍卖转一口价交易
重构
PHP换Java
MySQL换Oracle(贵)
MVC框架(自己开发WebX)
ORM框架(IBatis)
项目构建工具(Antx,主要管理配置项)
应用服务器(Weblogic)(贵)
...
高性能
网站性能测试:
指标:
1、响应时间
2、并发数
3、吞吐量
4、性能计数器
测试方法:
性能测试(可接收范围内)
负载测试(临界值,继续则性能下降)
压力测试(最大压力承受能力,继续则系统崩溃)
...