电气工程师面试题

haowen 分享 时间: 收藏本文

【简介】感谢网友“haowen”参与投稿,下面是小编为大家整理的电气工程师面试题(共9篇),仅供参考,喜欢可以收藏与分享哟!

篇1:关于Android工程师面试题

singletask:栈内复用模式。不是在当前任务栈中查找是否存在,实际过程如下:

查找该Activity所需的任务栈是否存在(由taskAffinity控制,或者默认为包名)。

在任务栈当中查找该Activity是否存在。

这里面存在任务栈的切换,也就是当开启的singtask类型的Activity不属于当前任务栈时,则会切换到其任务栈。

singleInstance:单实例模式。

包含了singleTask的所有特性,另外加上:设置为该模式的Activity,只能单独存在于一个任务栈中。当有两个singleInstace的Activity设置成同样的任务栈时,会出现两个同名的任务栈,分别用来存放同名的Activity。

注:在任何跳转的时候,首先调用本Activity的onPause,然后跳转。如果被跳转的activity由于启动方式而没创建新的实例,则会先调用onNewIntent,然后按照正常的生命周期调用。

1:A→B,A:onPause;B:onCreate,onStart,onResume。

2:A(singleTop)→A,A:onPause;A:onSaveInstanceState;A:onResume。

3、View的绘制

推荐郭霖大神的博客:

blog.csdn.net/guolin_blog/article/details/16330267

4、canvas的使用

推荐以下博客:

blog.csdn.net/qinjuning/article/details/6936783

5、ActivityManagerService的相关知识点

推荐以下博客:

wiki.jikexueyuan.com/project/deep-android-v2/activity.html

6、Activity切换时生命周期交集

Activity之间的协作当一个activity A启动了另外一个activity B,它们的生命周期是有交叉的;

首先A的onPause被调用;

之后B的onCrate(), onStart()及onResume() 方法会被调用(此时B拥有用户焦点);

最后,如果A在屏幕上不可见,onStop()方法被调用;

因此,我们在两个activities中传递数据,或者共享资源时(如数据库连接),需要在前一个activity的onPause()方法而不是onStop()方法中进行;

7、Hybrid(重要加分项)

java和JS的交互

droidyue.com/blog//09/20/interaction-between-java-and-javascript-in-android/

rensanning.iteye.com/blog/2043049

WebView开启JavaScript脚本执行

WebView设置供JavaScript调用的交互接口。

8、网络编程

volley

bxbxbai.github.io/2014/09/14/android-working-with-volley/

blog.csdn.net/guolin_blog/article/details/17656437

如何控制TCP连接时的拥塞

blog.csdn.net/yechaodechuntian/article/details/25429143

三次握手

blog.csdn.net/whuslei/article/details/6667471

Android客户端和服务端如何使用Token和Session

wyong.blog.51cto.com/1115465/1553352

移动端获取网络数据优化的几个点连接复用 :

节省连接建立时间,如开启 keep-alive。

对于 Android 来说默认情况下 HttpURLConnection 和 HttpClient 都开启了 keep-alive。只是 2.2 之前 HttpURLConnection 存在影响连接池的 Bug,具体可见:Android HttpURLConnection 及 HttpClient 选择

请求合并:

即将多个请求合并为一个进行请求,比较常见的就是网页中的 CSS Image Sprites。如果某个页面内请求过多,也可以考虑做一定的请求合并。

减少请求数据的大小:

对于post请求,body可以做gzip压缩的,header也可以作数据压缩(不过只支持http 2.0)。

返回的数据的body也可以作gzip压缩,body数据体积可以缩小到原来的30%左右。(也可以考虑压缩返回的json数据的key数据的体积,尤其是针对返回数据格式变化不大的情况,支付宝聊天返回的数据用到了)

根据用户的当前的网络质量来判断下载什么质量的图片(电商用的比较多)。

9、android开发中,可能会导致内存泄露的问题

不要让生命周期长于Activity的对象持有到Activity的引用

尽量使用Application的Context而不是Activity的Context

尽量不要在Activity中使用非静态内部类,因为非静态内部类会隐式持有外部类实例的引用(具体可以查看细话Java:”失效”的private修饰符了解)。如果使用静态内部类,将外部实例引用作为弱引用持有。

垃圾回收不能解决内存泄露,了解Android中垃圾回收机制

**更多内容可以参考以下博客:

spencer-dev.lofter.com/post/d7b9e_6faf120

10、activity的启动过程:

www.cloudchou.com/android/post-788.html

以上是我遇到和搜集到的各类题目以及相应的解答,接下来一段时间也会持续更新,大家遇到什么经典或者不会的问题也可以给我留言,在此统一分享给大家。祝大家能够找到自己心仪的工作,前途一片光明!

篇2:软件工程师面试题

谈谈指针和引用的区别?

指针用操作符“*”和“->”,引用使用操作符“&”. 相同点是:指针与引用都是让你间接引用其他对象。

区别:(1). 指针是一个实体,指向一块内存,它的内容是所指内存的地址;而引用仅是个别名,是某块内存的别名。

(2). 引用使用时无需解引用(*),指针需要解引用;

(3). 引用只能在定义时被初始化一次,之后不可变,“从一而终”;指针可变;

(4). 引用没有 const类型,指针有 const类型,const 的指针不可变;

(5). 引用不能为空,指针可以为空;

(6). “sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身(所指向的变量或对象的地址)的大小;typeid(t) == typeid(t&) 恒为真,sizeof(t) == sizeof(t&) 恒为真,但是当引用作为成员时,其占用空间与指针相同(没找到标准的规定)。

(7). 指针和引用的自增(++)运算意义不一样;

你在程序代码中用assert吗?assert一般用于做什么?

(1) 是我常用。

(2)主要用于debug下断言,即假设一定是这样的,否则就是错误的。例如 asser ( a >100 );

i++ 相比 ++i 哪个更高效?为什么?

答:(1)++i 比 i++效率高。

(2)i++要多调用一次类的构造和析够函数

c#中的委托是什么?事件是不是一种委托?

委托是指具有相同属性(也称具有相同的函数签名:返回类型相同,参数类型、参数顺序及参数个数相同)的函数或方法的抽象,关键字为delegate。主要用途是三个:1)函数回调;2)传递方法;3)事件机制

事件就是一个狭义的委托,也就是事件是一个用于事件驱动模型的专用委托,对事件的声明, 实际是声明一个私有的委托变量,对委托变量进行封装,即委托变量加上event关键字后,不管其前面的访问修饰符是public还是private,编译器都会将其编译为private。

委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用if-else(switch)语句,同时使得程序具有更好的可扩展性。以委托为参数的函数具有一定的通用性。

使用委托可以将多个方法绑定到同一个委托变量,当调用此变量时(这里用“调用”这个词,是因为此变量代表一个方法),可以依次调用所有绑定的方法。

请叙述属性与索引器的区别。

属性:它是存取类的字段,索引器:indexer它是特殊的属性,用它可以使用户像访问数组一样访问类的成员。

请详述在dotnet中类(class)与结构(struct)的异同。

类class可以进行实例化,它是引用类型,内存分配在栈中,效率高,它有默认的构造函数,有析构函数可以使用 abstract 和 sealed, protected 修饰符。要用new进行初始化,

结构它是属于值类型,内存分配在堆中,效率低,它没有默认的构造函数,但是可以添加构造函数,没有析构函数没有 abstract 和 sealed(因为不能继承)不能有protected 修饰符 可以不使用new 初始化,但是可以在结构中初始化实例字段。

在c#中,string str = null与string str = “” 请尽量使用文字或图象说明其中的区别。

回答要点:说明详细的空间分配。

答:string str = null是不给他分配内存空间,而string str = “” 给它分配长度为空字符串的内存空间.

请详述在dotnet中类(class)与结构(struct)的异同

答:class可以被实例化,属于引用类型,是分配在内存的堆上的,struct属于值类型,是分配在内存的栈上的.

简要谈一下您对微软.net构架下remoting和webservice两项技术的理解以及实际中的应用。

答:ws主要是可利用http,穿透防火墙。而remoting可以利用tcp/ip,二进制传送提高效率。

如何区别重载方法?

不同的参数类型,不同的参数个数,不同的参数顺序。

请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。

session(viewstate) 简单,但易丢失

application 全局

cookie 简单,但可能不支持,可能被伪造

input ttype=“hidden” 简单,可能被伪造

url参数简单,显示于地址栏,长度有限

数据库稳定,安全,但性能相对弱

篇3:前端工程师面试题

HTML+CSS

1.对WEB标准以及W3C的理解与认识

标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外链css和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性;

2.xhtml和html有什么区别

HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言

最主要的不同:

XHTML 元素必须被正确地嵌套。

XHTML 元素必须被关闭。

标签名必须用小写字母。

XHTML 文档必须拥有根元素。

3.Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?

用于声明文档使用那种规范(html/Xhtml)一般为 严格 过度 基于框架的html文档

加入XMl声明可触发,解析方式更改为IE5.5 拥有IE5.5的bug

4.行内元素有哪些?块级元素有哪些?CSS的盒模型?

块级元素:div p h1 h2 h3 h4 form ul

行内元素: a b br i span input select

Css盒模型:内容,border ,margin,padding

5.CSS引入的方式有哪些? link和@import的区别是?

内联 内嵌 外链 导入

区别 :同时加载

前者无兼容性,后者CSS2.1以下浏览器不支持

Link 支持使用javascript改变样式,后者不可

6.CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?

标签选择符 类选择符 id选择符

继承不如指定 Id>class>标签选择

后者优先级高

7.前端页面有哪三层构成,分别是什么?作用是什么?

结构层 Html 表示层 CSS 行为层 js

8.css的基本语句构成是?

选择器{属性1:值1;属性2:值2;……}

9.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?

Ie(Ie内核) 火狐(Gecko) 谷歌(webkit) opear(Presto)

10.写出几种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.select 在ie6下遮盖 使用iframe嵌套

8.为什么没有办法定义1px左右的宽度容器(IE6默认的行高造成的,使用over:hidden,zoom:0.08 line-height:1px)

11.

标签上title与alt属性的区别是什么?

Alt 当图片不显示是 用文字代表。

Title 为该属性提供信息

12.描述css reset的作用和用途。

Reset重置浏览器的css默认属性 浏览器的品种不同,样式不同,然后重置,让他们统一

13.解释css sprites,如何使用。

Css 精灵 把一堆小的图片整合到一张大的图片上,减轻服务器对图片的请求数量

14.浏览器标准模式和怪异模式之间的区别是什么?

盒子模型 渲染模式的不同

使用 window.top.document.compatMode 可显示为什么模式

15.你如何对网站的文件和资源进行优化?期待的解决方案包括:

文件合并

文件最小化/文件压缩

使用CDN托管

缓存的使用

16.什么是语义化的HTML?

直观的认识标签 对于搜索引擎的抓取有好处

17.清除浮动的几种方式,各自的优缺点

1.使用空标签清除浮动 clear:both(理论上能清楚任何标签,,,增加无意义的标签)

2.使用overflow:auto(空标签元素清除浮动而不得不增加无意代码的弊端,,使用zoom:1用于兼容IE)

3.是用afert伪元素清除浮动(用于非IE浏览器)

Javascript

1.javascript的typeof返回哪些数据类型

Object number function boolean underfind

2.例举3种强制类型转换和2种隐式类型转换?

强制(parseInt,parseFloat,number)

隐式(== - ===)

3.split join() 的区别

前者是切割成数组的形式,后者是将数组转换成字符串

4.数组方法pop() push() unshift() shift()

Push()尾部添加 pop()尾部删除

Unshift()头部添加 shift()头部删除

5.事件绑定和普通事件有什么区别

6.IE和DOM事件流的区别

1.执行顺序不一样、

2.参数不一样

3.事件加不加on

4.this指向问题

7.IE和标准下有哪些兼容性的写法

Var ev = ev || window.event

document.documentElement.clientWidth || document.body.clientWidth

Var target = ev.srcElement||ev.target

8.ajax请求的时候get 和post方式的区别

一个在url后面 一个放在虚拟载体里面

有大小限制

安全问题

应用不同 一个是论坛等只需要请求的,一个是类似修改密码的

9.call和apply的区别

Object.call(this,obj1,obj2,obj3)

Object.apply(this,arguments)

10.ajax请求时,如何解释json数据

使用eval parse 鉴于安全性考虑 使用parse更靠谱

11.b继承a的方法

12.写一个获取非行间样式的函数

function getStyle(obj,attr,value)

{

if(!value)

{

if(obj.currentStyle)

{

return obj.currentStyle(attr)

}

else

{

obj.getComputedStyle(attr,false)

}

}

else

{

obj.style[attr]=value

}

}

复制代码

13.事件委托是什么

让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!

14.闭包是什么,有什么特性,对页面有什么影响

闭包就是能够读取其他函数内部变量的函数。

blog.csdn.net/gaoshanwudi/article/details/7355794 此链接可查看(问这个问题的不是一个公司)

15.如何阻止事件冒泡和默认事件

canceBubble return false

16.添加 删除 替换 插入到某个接点的方法

obj.appendChidl()

obj.innersetBefore

obj.replaceChild

obj.removeChild

17.解释jsonp的原理,以及为什么不是真正的ajax

动态创建script标签,回调函数

Ajax是页面无刷新请求数据操作

18.javascript的本地对象,内置对象和宿主对象

本地对象为array obj regexp等可以new实例化

内置对象为gload Math 等不可以实例化的

宿主为浏览器自带的document,window 等

19.document load 和document ready的区别

Document.onload 是在结构和样式加载完才执行js

Document.ready原生种没有这个方法,jquery中有 $().ready(function)

20.”==”和“===”的不同

前者会自动转换类型

后者不会

21.javascript的同源策略

一段脚本只能读取来自于同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协议和端口号的组合

22.编写一个数组去重的方法

function oSort(arr)

{

var result ={};

var newArr=[];

for(var i=0;i

{

if(!result[arr[i]])

{

newArr.push(arr[i])

result[arr[i]]=1

}

}

return newArr

}

复制代码

23.排序算法

快速排序function oSort(arr)

{

if(arr.length<=1)

{

return arr

}

var left=[];

var right=[];

var oNum = Math.floor(arr.length/2);

var oNumVode = arr.splice(oNum,1);

for(var i=0;i

{

if(arr[i]

{

left.push(arr[i])

}

else

{

right.push(arr[i])

}

}

return oSort(left).concat([oNumVode],oSort(right))

}

冒泡排序 var array = [5, 4, 3, 2, 1];

var temp = 0;

for (var i = 0; i < array.length; i++)

{

for (var j = 0; j < array.length - i; j++)

{

if (array[j] >array[j + 1])

{

temp = array[j + 1];

array[j + 1] = array[j];

array[j] = temp;

}

}

}

复制代码

[前端工程师面试题]

篇4:前端工程师面试题

HTML

Doctype作用?严格模式与混杂模式如何区分?它们有何意义?

HTML5 为什么只需要写 ?

行内元素有哪些?块级元素有哪些? 空(void)元素有那些?

页面导入样式时,使用link和@import有什么区别?

介绍一下你对浏览器内核的理解?

常见的浏览器内核有哪些?

html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?

简述一下你对HTML语义化的理解?

HTML5的离线储存怎么使用,工作原理能不能解释一下?

浏览器是怎么对HTML5的离线储存资源进行管理和加载的呢?

请描述一下 cookies,sessionStorage 和 localStorage 的区别?

iframe有那些缺点?

Label的作用是什么?是怎么用的?(加 for 或 包裹)

HTML5的form如何关闭自动完成功能?

如何实现浏览器内多个标签页之间的通信? (阿里)

webSocket如何兼容低浏览器?(阿里)

页面可见性(Page Visibility)API 可以有哪些用途?

如何在页面上实现一个圆形的可点击区域?

实现不使用 border 画出1px高的线,在不同浏览器的Quirksmode和CSSCompat模式下都能保持同一效果。

网页验证码是干嘛的,是为了解决什么安全问题?

tite与h1的区别、b与strong的区别、i与em的区别?

CSS

介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的?

CSS选择符有哪些?哪些属性可以继承?

CSS优先级算法如何计算?

CSS3新增伪类有那些?

如何居中div?如何居中一个浮动元素?如何让绝对定位的div居中?

display有哪些值?说明他们的作用。

position的值relative和absolute定位原点是?

CSS3有哪些新特性?

请解释一下CSS3的Flexbox(弹性盒布局模型),以及适用场景?

用纯CSS创建一个三角形的原理是什么?

一个满屏 品 字布局 如何设计?

常见兼容性问题?

li与li之间有看不见的空白间隔是什么原因引起的?有什么解决办法?

经常遇到的浏览器的兼容性有哪些?原因,解决方法是什么,常用hack的技巧 ?

为什么要初始化CSS样式。

absolute的containing block计算方式跟正常流有什么不同?

CSS里的visibility属性有个collapse属性值是干嘛用的?在不同浏览器下以后什么区别?

position跟display、margin collapse、overflow、float这些特性相互叠加后会怎么样?

对BFC规范(块级格式化上下文:block formatting context)的理解?

CSS权重优先级是如何计算的?

请解释一下为什么会出现浮动和什么时候需要清除浮动?清除浮动的方式

移动端的布局用过媒体查询吗?

使用 CSS 预处理器吗?喜欢那个?

CSS优化、提高性能的方法有哪些?

浏览器是怎样解析CSS选择器的?

在网页中的应该使用奇数还是偶数的字体?为什么呢?

margin和padding分别适合什么场景使用?

抽离样式模块怎么写,说出思路,有无实践经验?[阿里航旅的面试题]

元素竖向的百分比设定是相对于容器的高度吗?

全屏滚动的原理是什么?用到了CSS的那些属性?

什么是响应式设计?响应式设计的基本原理是什么?如何兼容低版本的IE?

视差滚动效果,如何给每页做不同的动画?(回到顶部,向下滑动要再次出现,和只出现一次分别怎么做?)

::before 和 :after中双冒号和单冒号 有什么区别?解释一下这2个伪元素的作用。

如何修改chrome记住密码后自动填充表单的黄色背景 ?

你对line-height是如何理解的?

设置元素浮动后,该元素的display值是多少?(自动变成display:block)

怎么让Chrome支持小于12px 的文字?

让页面里的字体变清晰,变细用CSS怎么做?(-webkit-font-smoothing: antialiased;)

font-style属性可以让它赋值为“oblique” oblique是什么意思?

position:fixed;在android下无效怎么处理?

如果需要手动写动画,你认为最小时间间隔是多久,为什么?(阿里)

display:inline-block 什么时候会显示间隙?(携程)

overflow: scroll时不能平滑滚动的问题怎么处理?

有一个高度自适应的div,里面有两个div,一个高度100px,希望另一个填满剩下的高度。

png、jpg、gif 这些图片格式解释一下,分别什么时候用。有没有了解过webp?

什么是Cookie 隔离?(或者说:请求资源的时候不要让它带cookie怎么做)

style标签写在body后与body前有什么区别?

JavaScript

介绍JavaScript的基本数据类型。

说说写JavaScript的基本规范?

JavaScript原型,原型链 ? 有什么特点?

JavaScript有几种类型的值?(堆:原始数据类型和 栈:引用数据类型),你能画一下他们的内存图吗?

Javascript如何实现继承?

Javascript创建对象的几种方式?

Javascript作用链域?

谈谈This对象的理解。

eval是做什么的?

什么是window对象? 什么是document对象?

null,undefined的区别?

写一个通用的事件侦听器函数(机试题)。

[“1”, “2”, “3”].map(parseInt) 答案是多少?

关于事件,IE与火狐的事件机制有什么区别? 如何阻止冒泡?

什么是闭包(closure),为什么要用它?

javascript 代码中的”use strict”;是什么意思 ? 使用它区别是什么?

如何判断一个对象是否属于某个类?

new操作符具体干了什么呢?

用原生JavaScript的实现过什么功能吗?

Javascript中,有一个函数,执行时对象查找时,永远不会去查找原型,这个函数是?

对JSON的了解?

[].forEach.call($$(“*”),function(a){ a.style.outline=“1px solid #”+(~~(Math.random()*(1<<24))).toString(16) }) 能解释一下这段代码的意思吗?

js延迟加载的方式有哪些?

Ajax 是什么? 如何创建一个Ajax?

同步和异步的区别?

如何解决跨域问题?

页面编码和被请求的资源编码如果不一致如何处理?

模块化开发怎么做?

AMD(Modules/Asynchronous-Definition)、CMD(Common Module Definition)规范区别?

requireJS的核心原理是什么?(如何动态加载的?如何避免多次加载的?如何 缓存的?)

让你自己设计实现一个requireJS,你会怎么做?

谈一谈你对ECMAScript6的了解?

ECMAScript6 怎么写class么,为什么会出现class这种东西?

异步加载的方式有哪些?

documen.write和 innerHTML的区别?

DOM操作怎样添加、移除、移动、复制、创建和查找节点?

.call() 和 .apply() 的含义和区别?

数组和对象有哪些原生方法,列举一下?

JS 怎么实现一个类。怎么实例化这个类

JavaScript中的作用域与变量声明提升?

如何编写高性能的Javascript?

那些操作会造成内存泄漏?

JQuery的源码看过吗?能不能简单概况一下它的实现原理?

jQuery.fn的init方法返回的this指的是什么对象?为什么要返回this?

jquery中如何将数组转化为json字符串,然后再转化回来?

jQuery 的属性拷贝(extend)的实现原理是什么,如何实现深拷贝?

jquery.extend 与 jquery.fn.extend的区别?

jQuery 的队列是如何实现的?队列可以用在哪些地方?

谈一下Jquery中的bind(),live(),delegate(),on()的区别?

JQuery一个对象可以同时绑定多个事件,这是如何实现的?

是否知道自定义事件。jQuery里的fire函数是什么意思,什么时候用?

jQuery 是通过哪个方法和 Sizzle 选择器结合的?(jQuery.fn.find()进入Sizzle)

针对 jQuery性能的优化方法?

Jquery与jQuery UI有啥区别?

JQuery的源码看过吗?能不能简单说一下它的实现原理?

jquery 中如何将数组转化为json字符串,然后再转化回来?

jQuery和Zepto的区别?各自的使用场景?

针对 jQuery 的优化方法?

Zepto的点透问题如何解决?

jQueryUI如何自定义组件?

需求:实现一个页面操作不会整页刷新的网站,并且能在浏览器前进、后退时正确响应。给出你的技术实现方案?

如何判断当前脚本运行在浏览器还是node环境中?(阿里)

移动端最小触控区域是多大?

jQuery 的 slideUp动画 ,如果目标元素是被外部事件驱动, 当鼠标快速地连续触发外部元素事件, 动画会滞后的反复执行,该如何处理呢?

把 Script 标签 放在页面的最底部的body封闭之前 和封闭之后有什么区别?浏览器会如何解析它们?

移动端的点击事件的有延迟,时间是多久,为什么会有? 怎么解决这个延时?(click 有 300ms 延迟,为了实现safari的双击事件的设计,浏览器要知道你是不是要双击操作。)

知道各种JS框架(Angular, Backbone, Ember, React, Meteor, Knockout…)么? 能讲出他们各自的优点和缺点么?

Underscore 对哪些 JS 原生对象进行了扩展以及提供了哪些好用的函数方法?

解释JavaScript中的作用域与变量声明提升?

那些操作会造成内存泄漏?

JQuery一个对象可以同时绑定多个事件,这是如何实现的?

Node.js的适用场景?

(如果会用node)知道route, middleware, cluster, nodemon, pm2, server-side rendering么?

解释一下 Backbone 的 MVC 实现方式?

什么是“前端路由”?什么时候适合使用“前端路由”? “前端路由”有哪些优点和缺点?

知道什么是webkit么? 知道怎么用浏览器的各种工具来调试和debug代码么?

如何测试前端代码么? 知道BDD, TDD, Unit Test么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?

前端templating(Mustache, underscore, handlebars)是干嘛的, 怎么用?

简述一下 Handlebars 的基本用法?

简述一下 Handlerbars 的对模板的基本处理流程, 如何编译的?如何缓存的?

用js实现千位分隔符?(来源:前端农民工,提示:正则+replace)

检测浏览器版本版本有哪些方式?

我们给一个dom同时绑定两个点击事件,一个用捕获,一个用冒泡,你来说下会执行几次事件,然后会先执行冒泡还是捕获

篇5:测试工程师面试题

01. 为什么要在一个团队中开展软件测试工作?

答:软件测试在整个一个团队中占有非常重要的地位,具体来说就是测试是一个发现软件错误的过程,执行软件测试会以最少的人力和时间,系统的找到软件存在的缺陷和错误,建立起开发人员和使用者对软件的信心。

02. 您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作?

答:软件测试部门配合系统分析人员软件需求分析讨论,并根据需求说明书制定《项目测试计划》,编写测试用例,建立测试环境。

软件测试人员负责软件开发部门的新产品测试及原有产品的升级测试,负责软件问题解决过程跟踪,负责软件开发文档开发工作的规范化及管理开发部门的产品文档,制作用户手册及操作手册,负责产品的上线测试,监督软件开发过程的执行,提高产品质量。

03. 您是否了解以往所工作的企业的软件开发过程?如果了解,请试述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作?(对于软件测试部分,可以简述)

答:需求人员连同系统分析人员与测试人员开会讨论需求。系统分析人员写出详细设计说明书,程式人员编码,给出系统流程图。交与测试人员,测试人员给出Bug统计表。

04. 您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?

答:从事过编写测试计划,测试用例的创建,进行功能测试,性能测试,编写测试工具,文档的管理等,比较擅长与写测试用例和进行功能测试。

当然根据公司对测试工程师能力要求的差异,面试题的难易也会不同,如有需要部分企业还会进行测试工程师面试笔试题的考察,常见题目如下:

05.您认为在测试人员通开发人员沟通的过程中,如何提高沟通的效率和改善沟通的效率?位置测试人员通开发团队其它成员的良好的人际关系的关键的是什么?

06.您如何看待软件过程改进?在您曾经工作的企业中,是否有一些需要改进的东西呢?您期待的理想的测试工程师的工作环境是怎么样的?

07.在您以往的测试工作中,嘴让您刚到不满意或者不堪回首的事情是什么?如何来对待这些事情的?

08.给你一个网站,你如何测试?

09.测试的种类很多,比如,1、代码,函数级测试。2、模块、组件级测试。3、系统测试,请说出这些测试最好有那些人员完成,测试的是什么?

篇6:测试工程师面试题

测试工程师面试题

一、判断

1.软件测试的目的是尽可能多的找出软件的缺陷,(Y)

2.Beta 测试是验收测试的一种。(Y)

3.验收测试是由最终用户来实施的。(N)

4.项目立项前测试人员不需要提交任何工件。(Y)

5.单元测试能发现约80%的软件缺陷。(Y)

6.代码评审是检查源代码是否达到模块设计的要求。(N)

7.自底向上集成需要测试员编写驱动程序。(Y)

8.负载测试是验证要检验的系统的能力最高能达到什么程度。(N)

9.测试人员要坚持原则,缺陷未修复完坚决不予通过。(N)

10.代码评审员一般由测试员担任。(N)

11.我们可以人为的使得软件不存在配置问题。(N)

12.集成测试计划在需求分析阶段末提交。(N)

二、多选

1.软件验收测试的合格通过准则是:(ABCD)

A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求,

B. 所有测试项没有残余一级、二级和三级错误。

C. 立项审批表、需求分析文档、设计文档和编码实现一致。

D. 验收测试工件齐全。

2.软件测试计划评审会需要哪些人员参加?(ABCD)

A.项目经理

B.SQA 负责人

C.配置负责人

D.测试组

3.下列关于alpha 测试的'描述中正确的是:(AD)

A.alpha 测试需要用户代表参加

B.alpha 测试不需要用户代表参加

C.alpha 测试是系统测试的一种

D.alpha 测试是验收测试的一种

4.测试设计员的职责有:(BC)

A.制定测试计划

B.设计测试用例

C.设计测试过程、脚本

D.评估测试活动

5.软件实施活动的进入准则是:(ABC)

A.需求工件已经被基线化

B.详细设计工件已经被基线化

C.构架工件已经被基线化

篇7:it支持工程师面试题

技术支持工程师(技术支持工程师 系统管理 技术支持工程师面试 )主要是在软件或硬件方向从事售前或售后技术维护、应用培训、升级管理、解决投诉,提升客户满意度,扩大用户群体对自有品牌的良好口碑。成为一名专业的技术支持工程师在企业里工作至少要3年以上,这样对企业的产品线,用户群体就会有一个全面的了解。技术支持工程师面试前应做足准备功课,必知的技术支持工程师面试题有以下几条:

1、指出以下服务所默认的端口号:FTP;Telnet;POP3;SMTP;Windows终端服务

答:FTP: 21;Telnet:23;POP3:110;SMTP:25;Windows终端服务:3389 (最有名的3389)

2、将一台服务器装上Win Server系统,在安全性设置上,你会如何操作?

答:首先打上系统补丁、帐号策略(包括关闭guest帐号,Administrator改名)、禁止建立空连接、关闭默认共享、相闭相关不安全的服务(Telnet、Alerter等等,依具体情况待定)如果有需要,可以关闭Server服务(135、137、138、139端口)、关闭445端口、IIS安全设置。

3、在网络排错中,你经常会用到哪些操作命令?

答:ping;netstat;nbtstat;net;telnet;ipconfig

4、取消或隐藏Windwos 2000下自动共享的几种方法。

答:1)利用批处理在开机时关闭,中间会用到net命令

2)修改注册表

3)利用三方工具

5、路由器的基本功能?

答:数据包转发功能。

6、请写出568A与568B的线序

答:1)568B 橙白 橙 绿白 蓝 蓝白 绿 棕白 棕

2)568A 绿白 绿 橙白 蓝 蓝白 橙 棕白 棕

7、网卡MAC是由6组什么组成的,各自的含义

答:由16进制数据组成,前三组表示生产厂家,由IEEE来分配,并可以再细分;后三组表示该制造商所制造地某个网络产品(如网卡)的系列号。

8、C/S、B/S的含义

答:C/S表示客户端/服务器地模式C是client,s是server;B/S是基于浏览器/server模式,B是browser,S是server,前者中地C是需要另外开发客户端程序。而后者是基于浏览器来实现的,例如可以用IE等。

9、你在局域网内想获得IP 192.168.1.2 地MAC,在XP系统地命令提示符中如何操作?

答: ping 192.168.1.2;在用ARP -a命令查看arp列表即可获得。

10、什么是MBR?

答:MBRmaster boot record,主引导记录。引导OS。

11、XP每个分区下都有个System Volume Information名地隐藏目录是做什么地?

答:该目录是XP地自动还原功能所要用到地,存储地是还原点文件

12、如果电脑地系统瘫痪(XP系统盘为C),正常启动无法进入系统,而C盘中又有重要文件,请问有几种拯救方法,该如何操作?

答:最简单的是把硬盘挂到其他计算机上,直接把重要文件copy出来,如果磁盘分区是FAT的,可以用启动盘进入到DOS模式下进行文件copy操作,如果磁盘分区是NTFS的,可以用工具盘启动到DOS下加载NTFSDOS工具进行对NTFS分区进行copy操作。

13、电脑开机时主机内发出嘀嘀地鸣叫声,且显示器无任何信号,此现象可能是哪方面所导致,怎样处理?

答:可能是内存问题导致,一般是内存松动,灰尘较多。可以做清扫灰尘,重新插好内存等操作。根据不同的响声也可以判断是其他硬件等问题。

14、如何设置宽带路由器?

1)设置好拨号属性,一般均为PPPOE,ISP提供地用户名密码等

2)设置好内网地合法IP地址

3)建议启动防火墙功能。

15、谈谈你对这个职业的看法,并对自己工作的认知度

16、你更偏向于哪一领域:网站(策划/开发/运营),网络(Lan/Wan),软件程序,数据库(SQL Server/Mysql/DB2/Sybase/Oracle)

选择从事技术支持工程师这个行业,是近几年社会需求量非常大,发展前景较好的一个方向。希望这些技术支持工程师面试题能帮你顺利的找到工作。技术支持这个职位其实挺锻炼人的,因为它不仅要求有技术能力,还要有一定的销售技巧,至于两种能力的比例看行业而定。不管怎么说,技术支持是处在技术研发和市场销售两者之间的中间职位,可以兼两者之所长,但也无两者之所专。从网络系统集成普遍应用到家电下乡等国家政策的出台都为技术支持提供了广阔的市场空间,行业发展促进人才的需求,专业的技术支持工程师是现在企业宝贵的人力资源财富。

篇8:Android工程师面试题

Java基础:

1、内存泄露的原因:

资源对象没关闭。

如Cursor、File等资源。他们会在finalize中关闭,但这样效率太低。容易造成内存泄露。

SQLiteCursor,当数据量大的时候容易泄露

使用Adapter时,没有使用系统缓存的converView。

即时调用recycle释放不再使用的Bitmap。

适当降低Bitmap的采样率,如:

3

BitmapFactory.Options options = newBitmapFactory.Options();

options.inSampleSize = 2;//图片宽高都为原来的二分之一,即图片为原来的四分之一

Bitmap bitmap =BitmapFactory.decodeStream(cr.openInputStream(uri), null, options); preview.setImageBitmap(bitmap);

使用application的context来替代activity相关的context。

尽量避免activity的context在自己的范围外被使用,这样会导致activity无法释放。

注册没取消造成内存泄露

如:广播

集合中的对象没清理造成的内存泄露我们通常把一些对象的引用加入到了集合中,当我们不需要该对象时,并没有把它的引用从集合中清理掉,这样这个集合就会越来越大。如果这个集合是static的话,那情况就更严重了。

Handler应该申明为静态对象, 并在其内部类中保存一个对外部类的弱引用。如下:

复制代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

static class MyHandler extends Handler

{

WeakReference mActivityReference;

MyHandler(Activity activity)

{

mActivityReference= new WeakReference(activity);

}

@Override

public void handleMessage(Message msg)

{

final Activity activity = mActivityReference.get();

if (activity != null)

{

mImageView.setImageBitmap(mBitmap);

}

}

}

2、ArrayList和LinkedList的区别

ArrayList初试大小为10,大小不够会调用grow扩容:length = length + (length >>1)

LinkedList中Node first,last。分别指向头尾

ArrayList和LinkedList在性能上各 有优缺点,都有各自所适用的地方,总的说来可以描述如下:

对ArrayList和LinkedList而言,在列表末尾增加一个元素所花的开销都是固定的。对

ArrayList而言,主要是在内部数组中增加一项,指向所添加的元素,偶尔可能会导致对数组重新进行分配;而对LinkedList而言,这个开销是

统一的,分配一个内部Entry对象。

在ArrayList的 中间插入或删除一个元素意味着这个列表中剩余的元素都会被移动;而在LinkedList的中间插入或删除一个元素的开销是固定的。

LinkedList不 支持高效的随机元素访问。

ArrayList的空 间浪费主要体现在在list列表的结尾预留一定的容量空间,而LinkedList的空间花费则体现在它的每一个元素都需要消耗相当的空间

可以这样说:当操作是在一列

数据的后面添加数据而不是在前面或中间,并且需要随机地访问其中的元素时,使用ArrayList会提供比较好的性能;当你的操作是在一列数据的前面或中

间添加或删除数据,并且按照顺序访问其中的元素时,就应该使用LinkedList了。

3、hashmap和hashtable的不同

继承不同。

复制代码

1

2

public class Hashtable extends Dictionary implements Map

public class HashMap extends AbstractMap implements Map

Hashtable 中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。在多线程并发的环境下,可以直接使用Hashtable,但是要使用HashMap的话就要自己增加同步处理了。

篇9:网络安全工程师面试题

在IT安全的面试应聘过程中网络基础知识必须满足以下几点:

1、理解模型:尤其必须理解OSI、TCP/IP、Cisco和纵深防御网络模型。

2、理解第二层相关问题:包括了冲突域、广播域、交换与集线、端口安全以及生成树的相关主题

3、理解第三层相关问题:包含了IP路由协议;内部路由协议、如RIPv1/v2 和OSPF;外部路由协议,如BGP、子网络、超网络;网络地址转换(NAT)和IPv6

4、理解第四层相关问题:包含了TCP和UDP、会话的建立、报头和选项、端口地址转换以及常用端口

5、理解五到七层相关问题;包含了应用漏洞、特洛伊/蠕虫/病毒、内容过滤和IDS/ISP/IDP.

这里的大部分内容会在接下来详细讲解

一、什么是OSI模型?

这个问题涉及的范围很广,很难用简短的语言来回答,回答需要涉及七层和各层的相关协议,答案中非常重要的是封装概念的讨论……物理层:“比特流”、数据链路层“数据帧”、网络层“数据报”等等这些虽然很简单但是对于IT安全工作的求职很重要,自己上网查找或者翻阅书籍

二、什么是TCP/IP模型、它与OSI模型的关系如何?

基础中很重要的自己查找啊……

三、Cisco的标准框架是什么?

核心层、分布层(汇聚层)、接入层,每一层的概念需要了解

四、在OSI模型中如何实现纵深防御

对于网络工程师来说这是一个大问题。纵深防御可以从两个不同的角度来解释这个概念。首先,从分层安全机制的高度来理解,将其称作纵深防御。纵深防御是标准的方法论,它从三个层次强调安全需求:管理、技术和业务。在分层之前,建立纵深防御更注重的是策略和程序,而不是实际保护资源的安全机制。纵深防御包括物理安全和人为安全。正如问题所述,OSI模型是解释纵深防御概念的基础。大家应该都知道纵深防御意味着使用多种途径和多种保护方法实现安全保护。可以通过讨论OSI模型各层所采取的防护来了解纵深防御。作为公司,他会为物理线路聘用一个巡线员(第一层),在交换机上坐端口安全(第二层),在边界路由器上作访问列表(第三层),在防火墙中建立非管制区和包过滤(第四层)设置IDS/IDP监测/阻拦(第三~第七),建立SSL通道(第六层),设置内容过滤(第七层),提供AAA服务(第七层),进行漏洞扫描(第四~第七)和病毒扫描(第七层)等……

五、为什么说网络是基于层的?

所有的网络模型都是基于层的,这是为什么呢?本质上ISO推出层的概念是为了说明网络的逻辑功能。每一层都是独立的,提供了各自特殊的服务,因此有着各自的数据结构(报头/报尾)。在每一层都会对相应的报头和报尾进行处理,数据内容被压入堆栈。另外,考虑不同的厂商环境,提供相对独立的平台也是很有必要的。

六、生成树协议的原理是什么,它有什么用途,有哪些类型?

生成树协议应用于第二层,它的用途是消除网络环路,通过选择性的开通和堵塞端口控制网络传输来实现这一个目标……后边的省略

七、你知道多少常用的端口数

FTP端口21 Ssh服务端口22

Tenet端口23

查看端口的方法是:

C:WindowsSystem32driversetcservies用记事本打开就可以查看了

八、交换机的端口安全是如何实现的?

端口安全在现如今的企业专网中使用越来越广泛,而且由此造成的问题也越来越多。端口安全是交换机的一种特性,是指交换机在给定的端口上可以存储MAC地址,只有源于该地址的通信才被交换机允许。如果具有不同的MAC地址的设备是试图连接,交换机就会禁用端口并提示网络管理员。尽管有人提出端口安全限制了移动办公,但是它却提供了绝佳的控制网络接入的安全机制。

九、选路由协议和路由协议之间的区别是

十、什么是访问控制?

十一、什么是最小权限?

十二、如何定义机密性?

[网络安全工程师面试题]