当前位置:  编程技术>移动开发
本页文章导读:
    ▪口试提纲        面试提纲 面试考察 1、基础知识掌握程度(必备,基础不过关就别谈经验和兴趣) 2、知识面 (可以不全面,但应该听说或了解过) 3、工作经验(具体项目介绍时,让他谈项目中的体会.........
    ▪ 驱除代码异味        清除代码异味 为什么我们需要有质量的代码?敏捷开发方法是用来应付那些要求代码做大量改动的反馈信息的方法。如果程序没有用一种好的表达方式来表现,那程序会很难读,难维护,难.........
    ▪ ListView底部分隔线的有关问题       ListView底部分隔线的问题 在工作中遇到了一个难题,就是一个listView在最下面的一个item下面没有分割线,要求是必须得有这条分割线。经过一通研究发现了这个奇怪的现象:      1. ListA.........

[1]口试提纲
    来源: 互联网  发布时间: 2014-02-18
面试提纲
面试考察
1、基础知识掌握程度(必备,基础不过关就别谈经验和兴趣)
2、知识面 (可以不全面,但应该听说或了解过)
3、工作经验(具体项目介绍时,让他谈项目中的体会,然后顺着面试者的思路展开提问,只问简历的涉及点)
4、思维习惯 (风格和解决问题的能力,譬如验证码、用户密码提示、密码发送、页面间参数传递)
5、技术敏感性、兴趣、热情 (知识面、软件版本、网站、IT界名人、新技术动态)

技术敏感性/问题解决能力,而不是记忆能力
在面试过程中,针对对方的项目,问一些开放性问题:技术实现、设计、架构,开发过程

专业素养
国内、外知名Java网站、图书、项目等
常用Java软件的版本(切入项目中时)

Java基础(OO、Java core、Java util、Java IO、Exception Handling、Java Network)
自己Java基础知识定位?

overload和override的区别

String类是否可以继承?

String和StringBuffer区别


异常的两种类型,Error和Exception的区别
checked、runtime

ArrayList、Vector、LinkedList区别

List和Set的区别

什么是对象序列化?
Serializable、ObjectOutputStream.writeObject(Object obj)


Servlet和JSP基础
Servlet生命周期
Servlet启动过程
4过程,init两种情况
怎么让一个Servlet随容器启动而启动?

redirect和forward区别
setAttribute
http 301

Servlet继承关系
HttpServlet、protected

Servlet版本
2.4 2003.11 J2EE1.4
2.5 2005.9  JavaEE 5
3.0 2009.1  JavaEE 6

常用的Servlet容器
Tomcat,Resin,Jetty

doGet和doPost区别、场景

页面间传递对象的方法
request、session、application、cookie
<jsp:include page />、<%@ include file>区别

J2EE
什么是J2EE
Java EE 和J2EE的命名依据

J2EE常用术语
JNDI JMS JTA RMI/IIOP JDO JPA

J2EE是一种规范还是实现技术?

设计模式
Singleton template Command Observer facade

设计原则
高内聚低耦合 LSP OCP ISP

SSH
Struts的启动过程
ActionServlet

Action单例(实例变量声明,Webwork ThreadLocal)
Struts的标签
logic/JSTL iterator core
Bean/JSTL EL

Hibernate
id generator(native、assigned、increment、uuid)应用场景、原理及实现
lazy loading 原理、业务场景
load和get的区别
batch insert和update
domain的equals方法覆盖(Set属性)

Criteria查询
NativeSQL
乐观锁(optimistic-lock version)
Hibernate的两种实体模式:pojo和dynamic-map
领域模型

Spring
IoC
依赖注入的几种方式(构造子、setter、默认)

AOP
A的意思,具体是? 日志、安全、事务
OpenSessionInView
DAO,领域模型(架构设计)


--------------------
cookie与session原理, sso, 开发平台,

表关系 举例,后台管理模型

数据库3大设计范式

    
[2] 驱除代码异味
    来源: 互联网  发布时间: 2014-02-18
清除代码异味
为什么我们需要有质量的代码?

敏捷开发方法是用来应付那些要求代码做大量改动的反馈信息的方法。
如果程序没有用一种好的表达方式来表现,那程序会很难读,难维护,难修改。

什么是代码异味?

代码异味是一种由写的很差的代码引起的一种有臭味的感觉,
异味更多的是来自一种直觉,而不是一种有据可查的标准,当你看到有味的代码时你就“感觉”
到了如果你不把异味清除,不久之后你就会习惯这种气味,不再对它有察觉
我们经常会意识不到自己在写很臭的代码,经常需要外人为我们指出这点

重复的代码

会引起程序里面多个地方相同的错误

不必要的复杂

复杂最恐怖

异常处理

没有比空的异常捕捉代码更糟糕的
try{... } catch (Exception e){
}


长方法

你不能在一屏上看到整个方法
这通常意味着一个方法承担这多重任务
难于调试
不可测试
难于重用-> 导致程序员从方法的其它地方拷贝粘贴出重复的代码
复杂的条件语句-> 挑战大脑的逻辑分析能力
方法长度:组织归纳水平比控制代码行数更重要

变量名称
使用能表意的名称
不要用单个字母做名称
也不要使用太长的名称

最臭的代码

冗长的类
重复的代码
淘汰的方法
不必要的塑型(cast)
过度使用设计模式

代码除味
代码复查!

一些设计原则

高聚合
低耦合
Demeter定律 [不要告诉我,我会通知你]
Liskov替换原则
先让它跑起来,再让它无误,再让它快速
开发/闭合原则
反向依赖
单一责任原则

    
[3] ListView底部分隔线的有关问题
    来源: 互联网  发布时间: 2014-02-18
ListView底部分隔线的问题
在工作中遇到了一个难题,就是一个listView在最下面的一个item下面没有分割线,要求是必须得有这条分割线。经过一通研究发现了这个奇怪的现象:

      1. ListActivity有这条底部分割线。
      2.在Activity中只有listview,没有别的控件的话也会有。

      其实ListActivity也是一个Activity,只不过在其中使用了SetContentView(listView)方法设置了一个listView作为其显示的View而已。所以结论就是只要这个activity调用了SetContentView(listView)就会有这条底部分割线。

      那么什么情况下才不会有这条分割线呢?在Activity中如果调用setContentView(View)而ListView只是内嵌入到这个View的话有可能会没有这条分割线。

      分析其原因:通过加断点调试发现在listView中,所有的分割线都是通过画一个很窄的矩形来实现的,但是在画分割线前都会都会判断目前的位置A和listView的长度B,如果A=B了,那么就不会画这条分割线了。但是将Listview嵌入到一个View中,一般会设置为高度为wrap_content,这种情况下,最后那条分割线的位置刚好等于listView的高度,所以系统不会画上这条分割线。那要怎么样才会画上呢?很简单,将ListView的高度设置为fill_partent就可以了。

     当然以上所说的都是item很少的情况下,如果item很多以至于必须显示滚动条的话,那最后一个item下面是肯定不会有分割线了。

转自:http://blog.chinaunix.net/space.php?uid=20771867&do=blog&id=2915442

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android消息处理机制Looper和Handler详解 iis7站长之家
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3