第一篇:IBM面试题面试答案
IBM面试题一: 是否有教授或者咨询师曾经让你处于尴尬境地,还让你感到不自信?在这种情况下,你是怎样回应的?
分析 这个问题考查的是求职者在陌生领域工作的能力。通过这个问题,面试人可以了解到,当所给的任务超过自己目前的能力水平时,求职者解决问题的意愿和能力。
错误回答 我相信质疑权威是很重要的,但我不可能在学校里学到一切知识。很多人以为自己知道所有问题的答案,可实际上他们并不了解真实世界里发生的一切。你知道,那些都是象牙塔里的东西。
评论 这种回答的最大问题在于,求职者把问题的焦点从自己身上转移了。严肃的面试人并不关心你对高等教育的观点。他们想知道的是,当出现问题中给出的情况时,你将怎样处理。这种回答的另一个弊端是,它会使面试人对你是否愿意服从领导产生怀疑。
正确回答 在我当学生的这几年中,我尽自己所能多学习知识,经常选择一些不熟悉的课程,因此往往会受到教授的质疑。不管什么时候,当我觉得自己对这个科目知之甚少时,我就尝试预见一些问题,为回答问题做些准备。当我被难住时,我尽可能做出科学合理的猜测,承认我不知道的东西,并且从不懂的地方开始学习。(如果可能,你可以举出一个例子……)
评论 这种回答的最大好处在于,它清楚地表明了求职者会积极面对艰难处境。它也显示了求职者有雄心和明确的态度,知道怎样处理离奇和模糊的问题。
IBM面试题二:你是否曾经得到过低于自己预期的成绩?如果得到过,你是怎样处理这件事情的?
分析 通过对这个问题的回答除了可以揭示求职者的热情和进取心外,还可以揭示求职者是否愿意为某一事业奋斗,是否愿意为追求公平而奋斗。
错误回答 记得有一次,我觉得应该得B但却得了C,我去找辅导员,他给我看了我在每个项目上的得分情况——我处在C级的边缘但很明显是C.我很高兴能核实一下而不是接受既定的分数值。
评论 这个问题开始时回答得很好,但最后却不尽如人意。从最初的情况看,求职者似乎愿意追查到底。但是后来很显然,他(她)没有试图做出改变。
正确回答 我曾经和一个研究地球科学的教授有过一段令人记忆犹新的经历。这个人一向以偏袒理科生而出名,而我偏偏又不是理科生。在我们班上,所有的非理科生都感到,他对我们的知识基础有着非常不切实际的期望。由于他的偏见,这些非理科生大多都表现不好。尽管我表现还算不错,但我还是和其他学生一道向系领导发出了一份声明,建议校方审查一下他的教学方式。
评论 这种回答能够表明,这名求职者有能力克服困难处境,而且能够脱颖而出并居于领先地位。这样的回答还可以表明,这名求职者高度重视公平感。同时也表明了求职者十分关心集体利益。
第二篇:IBM公司面试题答案:病狗问题
村子中有50个人,每人有一条狗。在这50条狗中有病狗(这种病不会传染)。于是人们就要找出病狗。每个人可以观察其他的49条狗,以判断它们是否生病,只有自己的狗不能看。观察后得到的结果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的是病狗就要枪毙自己的狗,而且每个人只有权利枪毙自己的狗,没有权利打死其他人的狗。第一天,第二天都没有枪响。到了第三天传来一阵枪声,问有几条病狗,如何推算得出?
推论:
A、假设有1条病狗,病狗的主人会看到其他狗都没有病,那么就知道自己的狗有病,所以第一天晚上就会有枪响。因为没有枪响,说明病狗数大于1。
B、假设有2条病狗,病狗的主人会看到有1条病狗,因为第一天没有听到枪响,是病狗数大于1,所以病狗的主人会知道自己的狗是病狗,因而第二天会有枪响。既然第二天也每有枪响,说明病狗数大于2。
由此推理,如果第三天枪响,则有3条病狗。
来源:新浪财经
第三篇:一个超级经典的IBM面试题
村子中有50个人,每人有一条狗。在这50条狗中有病狗(这种病不会传染)。于是人们就要找出病狗。
每个人可以观察其他的49条狗,以判断它们是否生病(如果有病一定能看出来),只是自己的狗不能看。观察后得到的结果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的是病狗就要枪毙自己的狗(发现后必须在一天内枪毙),而且每个人只有权利枪毙自己的狗,没有权利打死其他人的狗。
第一天大家全看完了,但枪没有响,第二天仍没有枪响。到了第三天传来一阵枪声,问村里共有几条病狗,如何推算得出?
(有答案,而且肯定百分百正确,推理很经典,会让你有耳目一新的感觉)
如果病狗数是1,那么第一天这条狗就应该去见马克思了,因为病狗主人如果看到四十九条狗都是健康的狗,那么很容易就推论出自己的狗是病狗,可是第一个这条狗并没有完蛋,说明病狗数大于1。
如果病狗数是2,那么第二天这两条狗就应该一起作伴共赴黄泉路,因为第一天这条病狗没有完蛋,说明还有一条病狗存在,可是到了第二天也没有枪声,那就说明病狗数至少大于两条。
如果病狗数是3,那么到了第三天,病狗的主人看到其余两条病狗怎么还没有完蛋,再加上自己仅仅看到了两条病狗,由此可以很推断出自己的狗就是病狗,所以第三天枪声连续想起,说明这个村子的病狗数应该就是3条了。
第四篇:面试题答案
1.WEB标准以及W3C标准是什么?
标签闭合、标签小写、不乱嵌套、使用外链css和js、结构行为表现的分离。
2.xhtml和html有什么区别
XHTML 元素必须被正确地嵌套,闭合,区分大小写,文档必须拥有根元素。
3.行内元素有哪些?块级元素有哪些?
行内元素: a b img em br i span input select
块级元素:div p h1-h6 form ul dl ol table
4.行内元素和块级元素有什么区别?
行内元素不可以设置宽高,不独占一行;
块级元素可以设置宽高,独占一行。
5.我想让行内元素跟上面的元素距离10px,加margin-top和padding-top可以吗?
margin-top,padding-top无效
6.CSS的盒模型由什么组成?
内容,border ,margin,padding
7.说说display属性有哪些?可以做什么?
display:block行内元素转换为块级元素
display:inline块级元素转换为行内元素
display:inline-block转为内联元素
8.CSS 选择符有哪些?
1.id选择器(# myid)
2.类选择器(.myclassname)
3.标签选择器(div, h1, p)
4.相邻选择器(h1 + p)
5.子选择器(ul < li)
6.后代选择器(li a)
7.通配符选择器(*)
8.属性选择器(a[rel = “external”])
9.伪类选择器(a: hover, li: nth-child)
9.哪些css属性可以继承?
可继承: font-size font-family color, ul li dl dd dt;
不可继承 :border padding margin width height;
10.css优先级算法如何计算?
!important > id > class > 标签
!important 比 内联优先级高
*
优先级就近原则,样式定义最近者为准;
*
以最后载入的样式为准;
11.text-align:center和line-height有什么区别?
text-align是水平对齐,line-height是行间。
12.前端页面由哪三层构成,分别是什么?作用是什么?
结构层 Html 表示层 CSS 行为层 js
13.标签上title与alt属性的区别是什么?
Alt是图片属性,让搜索引擎认识你的图片。当图片不显示的时候显示。
title是网站标题,是seo中最重要的属性。
14.使用css 精灵有什么好处?
Css 精灵 把一堆小的图片整合到一张大的图片上,减轻HTTP的请求数量。
15.什么是语义化的HTML?
标签使用的合理性,对于搜索引擎的抓取有好处。
16.b标签和strong标签,i标签和em标签的区别?
后者有语义,前者则无。
17.tite与h1的区别。
title侧重于网站信息标题
从文章而言,h1侧重于文章主题
站在seo的角度看,好网站少不了title,好文章少不了h1标题,title权重高于h1。
18.清除浮动的几种方式,各自的优缺点
1.使用空标签清除浮动clear:both(缺点,增加无意义的标签)
2.使用overflow:auto(使用zoom:1用于兼容IE)
3.是用afert伪元素清除浮动(用于非IE浏览器)
19.display:none和visibility:hidden的区别是什么?
visibility: hidden----将元素隐藏,但是还占着位置。
display: none----将元素的显示设为无,不占任何的位置。
20.说出几种IE6 BUG的解决方法
1.双边距BUG float引起的 解决:使用display
2.3像素问题 使用float引起的 解决:使用dislpay:inline-3px
3.超链接hover 点击后失效 解决:使用正确的书写顺序 link visited hover active
4.Ie z-index问题 解决:给父级添加position:relative
5.Png 透明 解决:使用js代码
6.Min-height 最小高度!Important 解决
7.img出现边框
8.为什么没有办法定义1px左右的宽度容器(IE6默认的行高造成的overflow:hidden,zoom:0.08 line-height:1px可以解决)21.域名和服务器相关知识?
22.HTTP状态码都有那些。
200 OK
//客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
23.如何优化网页加载速度?
1.减少css,js文件数量及大小(减少重复性代码,代码重复利用),压缩CSS和Js代码
2.图片的大小
3.把css样式表放置顶部,把js放置页面底部
4.减少http请求数
5.使用外部 Js 和 CSS
24.position属性absolute与relative的区别?
absolute绝对定位 //相对于浏览器定位
relative相对定位 //相对于前面的容器定位
25.HTML5 的有那些新标签?
26.CSS3新增伪类有那些?
p:first-of-type 选择属于其父元素的首个
元素的每个
元素。
p:last-of-type 选择属于其父元素的最后
元素的每个
元素。
p:only-of-type 选择属于其父元素唯一的
元素的每个
元素。
p:only-child
选择属于其父元素的唯一子元素的每个
元素。
p:nth-child(2)选择属于其父元素的第二个子元素的每个
元素。
:enabled、:disabled 控制表单控件的禁用状态。
:checked,单选框或复选框被选中。
27.全局变量和局部变量有什么区别?
28.谈谈This对象的理解。
this是js的一个关键字,随着函数使用场合不同,this的值会发生变化。但是总有一个原则,那就是this指的是调用函数的那个对象。
this一般情况下:是全局对象Global。作为方法调用,那么this就是指这个对象
29.documen.write和 innerHTML有什么区别?
DOM的innerHTML是DOM元素对象的一个属性
而write是document对象的一个方法
30.JSON是什么?
JSON是一种轻量级的数据交换格式。它是基于JS的一个子集。数据格式简单, 易读写, 占用带宽小
{'age':'12', 'name':'back'}
31.ajax 是什么?ajax 的交互模型?同步和异步的区别?
1.通过异步模式,提升了用户体验
2.优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用
3.Ajax在客户端运行,承担了一部分本来由服务器承担的工作,减少了大用户量下的服务器负载。
2.Ajax的最大的特点是什么。
Ajax可以实现动态不刷新(局部刷新)
3.ajax的缺点:
1、ajax不支持浏览器back按钮。
2、安全问题 AJAX暴露了与服务器交互的细节。
3、对搜索引擎的支持比较弱。
4、破坏了程序的异常机制。
5、不容易调试。
32.你常用那些js框架?
33.工作流程,你怎么来实现页面设计图,你认为前端应该如何高质量完成工作?
34.介绍项目经验、合作开发、独立开发。
35.开发过程中遇到困难,如何解决。
36.对前端界面工程师这个职位是怎么样理解的?它的前景会怎么样?
前端是最贴近用户的程序员,比后端、数据库、产品经理、运营、安全都近。
1、实现界面交互
2、提升用户体验
3、有了Node.js,前端可以实现服务端的一些事情
前端是最贴近用户的程序员,前端的能力就是能让产品从 90分进化到 100 分,甚至更好,参与项目,快速高质量完成实现效果图,精确到1px;
与团队成员,UI设计,产品经理的沟通; 做好的页面结构,页面重构和用户体验;
处理hack,兼容、写出优美的代码格式;
针对服务器的优化、拥抱最新前端技术。
其它相关的加分项:
1.都使用和了解过哪些编辑器?都使用和了解过哪些日常工具? 2.都知道有哪些浏览器内核?开发过的项目都兼容哪些浏览器? 3.瀑布流布局或者流式布局是否有了解 4.HTML5都有哪些新的API? 5.都用过什么代码调试工具? 6.是否有接触过或者了解过重构。
7.你遇到过比较难的技术问题是?你是如何解决的? 8.什么叫优雅降级和渐进增强?
优雅降级/平稳退化:Web站点在所有新式浏览器中都能正常工作,如果用户使用的是老式浏览器,则代码会检查以确认它们是否能正常工作。由于IE独特的盒模型布局问题,针对不同版本的IE的hack实践过优雅降级了,为那些无法支持功能的浏览器增加候选方案,使之在旧式浏览器上以某种形式降级体验却不至于完全失效.渐进增强:从被所有浏览器支持的基本功能开始,逐步地添加那些只有新式浏览器才支持的功能,向页面增加无害于基础浏览器的额外样式和功能的。当浏览器支持时,它们会自动地呈现出来并发挥作用。
---------------去学学bootstrap框架,有兴趣的话建议你向移动端这方面发展,有空就看看编写高质量代码这本书。
跨浏览器,网页性能优化,seo,深刻理解Web标准,对可用性、可访问性等相关知识有实际的了解,包括代码的可维护性、组件的易用性、分层语义模板和浏览器分级支持等。
设计:
怎么工作,怎么和程序员沟通,看以往作品,为什么那样做,例如,程序员经常反驳的理由有这么些:
1、功能太占用服务器资源了。
2、开发这个功能好复杂,如果占用太多时间可能影响项目进度。
3、这个功能有助于提升用户体验,但我们实现起来比较麻烦。
4、这个功能太麻烦了,还是现在这样的好。改改改
1、企业主要是看你能不能做东西。企业很难招到一个适合的人,不会轻易把你淘汰掉。
如果对方挑你毛病,证明对方有招聘你的意图,否则的话,对方不会浪费时间挑你毛病,挑你毛病的主要原因是,想压榨你工资,所以你要自信一点,无论对方怎么挑你毛病都不要害怕。
企业中没有专门的面试官。
不是说我面试了这一家,他就一定要录取我,还有很多公司等着你去挑,目光放长远一点,一定要拿到自己满意的薪资才做。
面试就是一个解开双方谎言的过程,你能瞒过对方,证明你赢了。
换个心态去面试,不是企业在挑你,是你在挑企业。
第五篇:面试题答案
android中的动画有哪几类,它们的特点和区别是什么?
(两种,一种是Tween动画、还有一种是Frame动画。Tween动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化;另一种Frame动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。)
handler机制的原理
andriod提供了 Handler 和 Looper 来满足线程间的通信。Handler 先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(Message Exchange)。1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(消息队列)。2)Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到Message Queue里;或者接收Looper从Message Queue取出)所送来的消息。3)Message Queue(消息队列):用来存放线程放入的消息。4)线程:UI thread 通常就是main thread,而Android启动程序时会替它建立一个Message Queue。
说说mvc模式的原理
它在android中的运用 MVC(Model_view_contraller)” 模型_视图_控制器”。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要 Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会 从潜在的Model中获取数据来刷新自己
(View重绘和内存泄露面试经常问的问题)
Activity的生命周期
在一个Activity正常启动的过程中,他们被调用的顺序是 onCreate-> onStart
->onResume, 在Activity被干掉的时候顺序是onPause-> onStop-> onDestroy,这样就是一个完整的生命周期,但是有人问了,程序正运行着呢来电话了,这个程序咋办?中止了呗,如果中止的时候新出的一个Activity是全屏的那么:onPause->onStop,恢复的时候onStart->onResume,如果打断 这个应用程序的是一个Theme为Translucent 或者Dialog 的Activity那么只是onPause ,恢复 的时候onResume
IPC及原理
IPC是内部进程通信的简称,是共享“命名管道”的资源。Android中的IPC机制是为了让Activity和Service之间可以随时的进行交互,故在Android中该机制,只适用于Activity和Service之间的通信,类似于远程方法调用,类似于C/S模式的访问。通过定义AIDL接口文件来定义IPC接口。Servier端实现IPC接口,Client端调用IPC接口本地代理 在Java中如何引入C语言
可以用JNI接口来实现
什么时候使用Service?
比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记 录你地理信息位置的改变等等,总之服务嘛,总是藏在后头的。请描述一下Broadcast Receiver,及注册方法
Broadcast Receiver用于接收并处理广播通知(broadcast announcements)。多数的广播是系统发起的,如地域变换、电量不足、来电来信等。程序也可以播放一个广播。程序可以有任意数量的 broadcast receivers来响应它觉得重要的通知。broadcast receiver可以通过多种方式通知用户:启动activity、使用NotificationManager、开启背景灯、振动设备、播放声音等,最典型的是在状态栏显示一个图标,这样用户就可以点它打开看通知内容。通常我们的某个应用或系统本身在某些事件(电池电量不足、来电来短信)来临时会广播一个Intent出去,我们可以利用注册一个Broadcast Receiver来监听到这些Intent并获取Intent中的数据。
为什么要用ContentProvider?它和sql的实现上有什么差别?
使用ContentProvider可以将数据共享给其他应用,让除本应用之外的应用也可以访问本应用的数据。它的底层是用SQLite数据库实现的,所以其对数据做的各种操作都是以Sql实现,只是在上层提供的是Uri
AIDL的全称是什么?如何工作?能处理哪些类型的数据?
AIDL是一种接口定义语言,用于约束两个进程间的通信规则,供编译器生成代码,实现Android设备上的进程间通信。进程之间的通信信息首先会被转换成AIDL协议消息,然后发送给对方,对方受到AIDL协议消息后再转换成相应的对象。AIDL支持的类型包括Java基础类型和String,List,Map,CharSequence,如果使用自定义类型,必须实现Parcelable接口
activity的启动模式有哪些?
在android里,有4种activity的启动模式,分别为:
“standard”(默认)
“singleTop”
“singleTask”
“singleInstance”
android dvm 的进程和Linux的进程,应用程序的进程是否为同一个概念: 答:dvm是dalivk虚拟机。每一个android应用程序都在自己的进程中运行,都拥有一个dalivk虚拟机实例。而每一个dvm都是在linux的一个进程。所以说可以认为是同一个概念。
Android中常用的五种布局:
答:LinearLayout线性布局;AbsoluteLayout绝对布局;TableLayout表格布局;RelativeLayout相对布局;FrameLayout帧布局;
Android的五种数据存储方式:
答:sharedPreferences;文件;SQLite;contentProvider;网络
请解释下在单线程模型中Message、Handler、Message Queue、Looper之间的关系:
答:Handler获取当前线程中的looper对象,looper用来从存有Message的Message Queue里取出message,再由Handler进行message的分发和处理。
android 中有哪几种解析xml的类?官方推荐哪种?以及它们的原理和区别: 答:XML解析主要有三种方式,SAX、DOM、PULL。常规在PC上开发我们使用Dom相对轻松些,但一些性能敏感的数据库或手机上还是主要采用SAX方 式,SAX读取是单向的,优点:不占内存空间、解析属性方便,但缺点就是对于套嵌多个分支来说处理不是很方便。而DOM方式会把整个XML文件加载到内存 中去,这里Android开发网提醒大家该方法在查找方面可以和XPath很好的结合如果数据量不是很大推荐使用,而PULL常常用在J2ME对于节点处 理比较好,类似SAX方式,同样很节省内存,在J2ME中我们经常使用的KXML库来解析。Collection 和 Collections的区别
Collection是集合类的上级接口,继承与他的接口主要有Set 和List.Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作
面向对象的特征有哪些方面
封装性、继承性和多态性是面向对象的三大特点。