2015年11月科大讯飞Java开发工程师面试

匿名网友 匿名网友 发布于: 2015-11-13 00:00:00
阅读 323 收藏 0 点赞 0 评论 0

1、对java回收机制的理解;

Java的回收机制是jvm虚拟机提供的能力(比如无用变量或者线程),回收机时间不一定;
垃圾回收是对内存所占据的空间进行回收,而不是对象本身
对上述的两个显示声明的回收方法而言,执行以后也不是马上对其进行回收,而是对其声明,告诉告诉jvm要进行回收操作。
2、对struts2中的拦截器(Interceptor)和web.xml中的filter过滤器的不同;

我回答的是拦截器是对action拦截,而filter可以对所有的文件夹或者jsp过滤(其实以前项目都是用的struts1,近期才开始了解的),可能还要补充几点

拦截器是基于java反射机制的,而过滤器是基于回调函数的
过滤器是依赖与servlet容器,拦截器不依赖
拦截器只能对action起作用,filter对所有的请求都起作用
拦截器可以访问action中的上下文、值、栈里面的对象,过滤器不可以
action的生命周期中,拦截器可以多次调用,过滤器只能一次被调用;

3、关于反射的理解

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。

Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。
4、对于spring中注入的方式和spring注入的作用

通过setter方法注入:需要在bean中生成相应熟悉的get set {% highlight xml %} {% endhighlight %}
通过构造方法注入:声明XML后需要在使用bean构造方法中实现注入接口 {% highlight xml %} {% endhighlight %} {% highlight java %} public UserAction(IUserService userService) { super(); this.userService = userService; } {% endhighlight %}
自动注入:autowire的参数值可选有:“default”、“byName”、“byType”、“constructor”、“no”。配置来实现自动装配; {% highlight xml %} {% endhighlight %}
通过注解进行注入;这种方法不是太常用 >注意:在新的Spring3的标准中,已经不推荐使用@Component的方式来完成bean的创建。新的标准提供了更多的Annotation来替代@Component。
例如:

@Repository:一般用于Dao的注入;

@Service:一般用于Service层的注入;

@Controller:一般用于Action层的注入。

{% highlight java%} @Component(“userAction”) @Scope(“prototype”) public class UserAction { private User user; private IUserService userService; private int id; public UserAction(IUserService userService) { super(); this.userService = userService; } public User getUser() { return user; } @Resource public void setUser(User user) { this.user = user; } public IUserService getUserService() { return userService; } @Resource public void setUserService(IUserService userService) { this.userService = userService; } public int getId() { return id; } public void setId(int id) { this.id = id; } public void add(){ userService.add(user); } public void delete(){ userService.delete(id); } public void Get(){ userService.Get(id); } } {% endhighlight %} 参考CSDN

5、对于线程的理解

6、另外还问了我JQuery中的显示和隐藏元素是什么;

当然是hide和show;这个是说出来了。另外一个我忽略了toggle,这个是我回家的路上才想起里的。

7、对加班问题的看待;

8、最后就是对他们有什么想问的了,问了一些像公司项目流程是否会有不规范的情况,往往在某些公司的人就会遇到这样那样的需求不明确,甚至是所有事情都要由你一个人来完成。对于技术这块有没有定期的交流或是沟通。另外就是公司项目的来源:这个面试我的人好像很忌讳的样子,其实问了也白问,哈哈。

给后面兄弟的建议
面试时候要准备好,不要盲目的去面试了,一般不会问太深奥的问题,就是看你的基础。感觉以后会把它当成经验的。从穿着到言行,很多方面都能体现出一个人的修养,所以要多加注意;

评论列表
文章目录