android工程师面试一般会问哪些问题_android高级工程师面试题

android工程师面试一般会问哪些问题_android高级工程师面试题,第1张

1Android经验

如果不是校招,Android经验是必须的,我比较喜欢问一些基础概念与技术原理,比如Activity、View、Window的理解,各LaunchMode的使用场景,View的绘制流程,Touch事件机制,Android动画的原理,Handler,Looper的理解,Android跨进程通讯的方式,Binder的理解,AndroidMashup设计的理解等等。

2Java水平

基本上就是EffectiveJava那本书里提到的东西,如果你背完那本书里的问题,并且对答如流,没问题,就要你这样的。其实也会考察关于final用法,反射原理,注解原理,java编译过程,GC等一些常见问题。

3IT基础知识

其实就是计算机科班学生学校里学到的一些东西,在校招时这块是重点,社招会放宽,但一些基本的常识是要有的,比如不少人都不知道>

4代码质量的认识

我们需要的是一个对代码味道有感觉的人,关于这点,看下《CleanCode》就够了,面试中这点其实不好考察,可以让他聊一聊对代码质量的认识,虽然不能排除对方夸夸其谈,至少想法不多,只能提到命名风格这一点的人是不符合要求的,也可以在写Code的环节中观察。

5技术视野

比如对Android开发新技术的了解与学习,对其它流行技术领域的了解,这其实与我刚才提到的技术广度的考察有关,就我面试过程中,发现很多非互联网行业的从业人员,因为公司各种 *** 蛋规定与公司技术氛围的原因,技术视野相当狭窄。

我个人对这点深有体会,2011年我还在传统行业从事软件研发,当时的公司因为担心技术信息泄露,不让上网,相当封闭,我个人虽然自认为已在那个行业内做到业内专家的级别,但总感觉哪里不对,有一天我很兴奋的打算跟身边同事聊一聊Android的时候,发现他们居然都不知Android为何物?2011年啊同志们,当时的震惊无法言表,深切感觉到需要作出改变了,毅然放弃多年行业积累,转战移动互联网,直到现在。时至今日,多年前的小伙伴也有很多混出了名党,开始走向人生巅峰,我也从来没有后悔当初做出的选择。

6技术想象力

一个优秀的技术人,如果知识的深度与广度足够,知识已成体系,那么他对于一些从未接触过的领域,也是可以做出足够合理的想象与判断,面试过程中如果问到一些领域候选人没有涉猎,这时候一般不用过多纠缠,但如果你想借这个问题考察下他的技术想象力,可以深入下去,比如问他:“你觉得这个东西应该是什么原理呢?”,“这个酷炫的控件,如果要你来做,你会怎么实现?”。在这方面表现出色的同学无疑是有深厚基础与足够广度的人。

软件工程师——顾名思义做软件开发的工程师,所谓工程师就是要对开发的程序、软件、系统有良好的逻辑思维能力,善于开拓创新,能快速的罗列出一个系统的大概构架,然后再来解决程序编程问题。其实软件工程师主要不是做编程,编程是专门给程序员来做的活,工程师把开发的系统大概的思路,构架都跟你说明清楚然后给程序员来用代码实现。所以要做一名软件工程师需要的不仅是扎实的编程功底,还要有比较好的逻辑思维和大胆创新的精神,记住要做一个软件工程师需要的是冰冻三尺非一日之寒的努力、踏实、上进、求新、求变、求实的态度和决心!

在软件工程领域找工作时,408是一个常见的面试问题。408是指计算机科学专业的四大基础课程:数据结构、算法、 *** 作系统和计算机网络。公司会问408是为了了解你的基础知识和技能。因此,作为软件工程师,你需要有一定的理论知识和实践经验来回答这些问题。
在回答数据结构方面的问题时,你需要了解各种数据结构(如数组、链表、栈、队列、哈希表和树等)以及它们的优缺点和应用场景。你需要能够解释这些数据结构的时间和空间复杂度,并能够实现它们的基本 *** 作。
在回答算法方面的问题时,你需要知道不同类型的算法,如排序、查找、贪心、动态规划等,并能够解释它们的原理和应用场景。你需要能够分析算法的时间和空间复杂度,并能够实现它们的基本 *** 作。
在回答 *** 作系统方面的问题时,你需要知道 *** 作系统的基本概念、进程和线程的区别、内存管理、文件系统等。你需要能够解释 *** 作系统的原理和应用场景,并能够编写简单的多线程程序。
在回答计算机网络方面的问题时,你需要知道网络协议、IP地址、TCP/IP协议、>

关于简历和面试相关问题,我建议你要注意以下一些问题:

1、面试前有没有仔细了解过对应企业的情况,对方的企业文化、主营业务、未来的发展方向。如果跑过去面试,其实对该企业一点也不了解的,就仅仅知道来面试XX岗位,那对方单位肯定不想要这样的人。一点诚意也没有。

2、岗位要求你真正符合的有多少?不少求职者应聘,简历都是“仙女散花”式的乱投一气,很有有人真正去冷静地逐条去分析对方单位的任职要求,打个比方,对方单位写了五条要求,你是不是真的每一条都是符合的呢?如果五条中有四条是绝对胜任的,那还有一条是不是硬条件呢?(比如很多岗位必备持有上岗证才能上岗,那如果没有的话,哪怕就只有一条不符合,也是浪费时间不会录取的)如果低于四条,那用人单位在有充分选择余地的情况下,是不会考虑你的。

3、你的简历是不是千篇一律的呢?绝大多数的求职者的简历根本就是一个版本走天下,应聘A岗位是这个简历,应聘另外的B岗位也是这个简历,从来没有考虑过要根据对方单位的的具体情况以及应聘岗位的具体要求,为其“量身定制”一份有针对性的简历,只有简历中有针对性地根据每条招聘要求突出自身的优势或是胜任的具体条件,才有可能在面试中让考官感受到你的诚意和用心。

4、其实就是面试时与考官交流的技巧问题了,包括了基本的职场礼仪、个人的言行举止等,这里就不再多说了。但最重要的要提醒大家,回答问题(包括自我介绍)一定要围绕着对方单位的情况(你对招聘企业的了解)、“我觉得自己凭什么可以胜任你这个岗位,我的胜任条件有哪些?”、自己对招聘单位企业文化和发展方向的认同、自己如果能够从事该工作,有哪些想法和打算等等,最最重要的是不要给对方一种很计较工资待遇的感觉,要让对方感受到你有一种“与公司共同发展”的意识,把自己的命运与公司的命运紧密相连,同坐一条船,有着一颗心。

java软件工程师面试题集
EJB方面
1、EJB20有哪些内容分别用在什么场合 EJB20和EJB11的区别
答:规范内容包括Bean提供者,应用程序装配者,EJB容器,EJB配置工具,EJB服务提供者,系统管理员。这里面,EJB容器是EJB之所以能够运行的核心。EJB容器管理着EJB的创建,撤消,激活,去活,与数据库的连接等等重要的核心工作。JSP,Servlet,EJB,JNDI,JDBC,JMS
2、EJB与JAVA BEAN的区别?
答:Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。
3、EJB的基本架构
答:一个EJB包括三个部分:
Remote Interface 接口的代码
package Beans;
import javaxejbEJBObject;
import javarmiRemoteException;
public interface Add extends EJBObject
{
//some method declare
}
Home Interface 接口的代码
package Beans;
import javarmiRemoteException;
import jaaxejbCreateException;
import javaxejbEJBHome;
public interface AddHome extends EJBHome
{
//some method declare
}
EJB类的代码
package Beans;
import javarmiRemoteException;
import javaxejbSessionBean;
import javxejbSessionContext;
public class AddBean Implements SessionBean
{
//some method declare
}
J2EE,MVC方面
1、MVC的各个部分都有那些技术来实现如何实现
答:MVC是Model-View-Controller的简写。"Model" 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), "View" 是应用的表示面(由JSP页面产生),"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。
2、应用服务器与WEB SERVER的区别?
希望大家补上,谢谢
3、J2EE是什么?
答:Je22是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model)在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。
4、WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。
答:Web Service描述语言WSDL
SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议。
UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。
5、BS与CS的联系与区别。
希望大家补上,谢谢
6、STRUTS的应用(如STRUTS架构)
答:Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。 采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。 Struts有如下的主要功能:
一包含一个controller servlet,能将用户的请求发送到相应的Action对象。
二JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。
三提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。
设计模式方面
1、开发中都用到了那些设计模式用在什么场合
答:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。主要用到了MVC的设计模式。用来开发JSP/Servlet或者J2EE的相关应用。简单工厂模式等。
2、UML方面
答:标准建模语言UML。用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图,
JavaScript方面
1、如何校验数字型
var re=/^d{1,8}$|d{1,2}$/;
var str=documentform1all(i)value;
var r=strmatch(re);
if (r==null)
{
sign=-4;
break;
}
else{
documentform1all(i)value=parseFloat(str);
}
CORBA方面
1、CORBA是什么用途是什么
答:CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture),由对象管理组织 (Object Management Group,缩写为 OMG)标准化。它的组成是接口定义语言(IDL), 语言绑定(binding:也译为联编)和允许应用程序间互 *** 作的协议。 其目的为:
用不同的程序设计语言书写
在不同的进程中运行
为不同的 *** 作系统开发
LINUX方面
1、LINUX下线程,GDI类的解释。
答:LINUX实现的就是基于核心轻量级进程的"一对一"线程模型,一个线程实体对应一个核心轻量级进程,而线程之间的管理在核外函数库中实现。
GDI类为图像设备编程接口类库。
1、面向对象的三个基本特征
2、方法重载和方法重写的概念和区别
3、接口和内部类、抽象类的特性
4、文件读写的基本类
5、串行化的注意事项以及如何实现串行化
6、线程的基本概念、线程的基本状态以及状态之间的关系
7、线程的同步、如何实现线程的同步
8、几种常用的数据结构及内部实现原理。
9、Socket通信(TCP、UDP区别及Java实现方式)
10、Java的事件委托机制和垃圾回收机制
11、JDBC调用数据库的基本步骤
12、解析XML文件的几种方式和区别
13、Java四种基本权限的定义
14、Java的国际化
二、JSP
1、至少要能说出7个隐含对象以及他们的区别
2、forward 和redirect的区别
3、JSP的常用指令
三、servlet
1、什么情况下调用doGet()和doPost()?
2、servlet的init()方法和service()方法的区别
3、servlet的生命周期
4、如何现实servlet的单线程模式
5、servlet的配置
6、四种会话跟踪技术
四、EJB
1、EJB容器提供的服务
主要提供声明周期管理、代码产生、持续性管理、安全、事务管理、锁和并发行管理等服务。
2、EJB的角色和三个对象
EJB角色主要包括Bean开发者 应用组装者 部署者 系统管理员 EJB容器提供者 EJB服务器提供者
三个对象是Remote(Local)接口、Home(LocalHome)接口,Bean类
2、EJB的几种类型
会话(Session)Bean ,实体(Entity)Bean 消息驱动的(Message Driven)Bean
会话Bean又可分为有状态(Stateful)和无状态(Stateless)两种
实体Bean可分为Bean管理的持续性(BMP)和容器管理的持续性(CMP)两种
3、bean 实例的生命周期
对于Stateless Session Bean、Entity Bean、Message Driven Bean一般存在缓冲池管理,而对于Entity Bean和Statefull Session Bean存在Cache管理,通常包含创建实例,设置上下文、创建EJB Object(create)、业务方法调用、remove等过程,对于存在缓冲池管理的Bean,在create之后实例并不从内存清除,而是采用缓冲池调度机制不断重用实例,而对于存在Cache管理的Bean则通过激活和去激活机制保持Bean的状态并限制内存中实例数量。
4、激活机制
以Statefull Session Bean 为例:其Cache大小决定了内存中可以同时存在的Bean实例的数量,根据MRU或NRU算法,实例在激活和去激活状态之间迁移,激活机制是当客户端调用某个EJB实例业务方法时,如果对应EJB Object发现自己没有绑定对应的Bean实例则从其去激活Bean存储中(通过序列化机制存储实例)回复(激活)此实例。状态变迁前会调用对应的ejbActive和ejbPassivate方法。
5、remote接口和home接口主要作用
remote接口定义了业务方法,用于EJB客户端调用业务方法
home接口是EJB工厂用于创建和移除查找EJB实例
6、客服端调用EJB对象的几个基本步骤
一、 设置JNDI服务工厂以及JNDI服务地址系统属性
二、 查找Home接口
三、 从Home接口调用Create方法创建Remote接口
四、 通过Remote接口调用其业务方法
五、数据库
1、存储过程的编写
2、基本的SQL语句
六、weblogic
1、 如何给weblogic指定大小的内存
在启动Weblogic的脚本中(位于所在Domian对应服务器目录下的startServerName),增加set MEM_ARGS=-Xms32m -Xmx200m,可以调整最小内存为32M,最大200M
2、 如何设定的weblogic的热启动模式(开发模式)与产品发布模式
可以在管理控制台中修改对应服务器的启动模式为开发或产品模式之一。或者修改服务的启动文件或者commenv文件,增加set PRODUCTION_MODE=true。
3、 如何启动时不需输入用户名与密码
修改服务启动文件,增加 WLS_USER和WLS_PW项。也可以在bootproperties文件中增加加密过的用户名和密码
4、 在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中
保存在此Domain的configxml文件中,它是服务器的核心配置文件。
5、 说说weblogic中一个Domain的缺省目录结构比如要将一个简单的helloWorldjsp放入何目录下,然的在浏览器上就可打入>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13371204.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-23
下一篇 2023-07-23

发表评论

登录后才能评论

评论列表(0条)

保存