第一篇:巨人网络2012年10月11日,大连理工大学宣讲会C++开发工程师笔试题
巨人网络2012年10月11日,大连理工大学宣讲会C++开发工程师笔试题 1,若char是一字节,int是4字节,指针类型是4字节,代码如下: ClassCTest
{
Public:
CTest():m_chData(‘ ’),m_nData(0)
{
}
Virtual void mem_fun(){}
private:
char m_chData;
int m_nData;
static char s_chData;
};
Char CTest::s_chData=’ ’;
问:(1)若按1字节对齐sizeof(CTest)的值是多少?
(2)若按4字节对齐sizeof(CTest)的值是多少?
2.下面代码存在哪些问题?
ClassIObject
{
};
class B:public IObject
{
public:
//constructor
…
public:
Int nB;
}
class C:publicIObject
{
public:
//constructor
…
public:
std::string strC;
};
int main()
{
std:;vector
vecObjects.push_back(new B);
vecObjects.push_back(new C);
C* pC=static_cast
std::cout<<”what will happen and why ?”<
strC< } 3.用C++代码实现vector,list,map的循环删除操作。 5.使用编译器编译源码分为哪几步?如果用联合编译来编译源码,哪些只能在本地执行,哪些能分发出去执行? 6.请用C++代码实现一个单例模式的例子。 7.C++中的空类,默认产生哪些类成员函数?请配合使用C++代码描述。 8.实现一个函数mymemcpy(void *dest,const void *src,size_t count),完成内存之间的拷贝。 9.Mysql相关操作 (1),显示当前数据库服务器中的数据列表: mysql> (2),显示数据库GAINT中的所有数据表: mysql> (3),显示数据表ZT的结构: mysql> (4),建立数据库ZTGAME: mysql> mysql>use ZTGAME; (5),建立数据表CHARBASE包含两个长度为20的字符串字段(ID NAME): mysql> (6),用文本方式将数据/home/ztgame/data/123.txt装入数据表CHARBASE中: mysql> (7),导入/home/ztgame/data/123.txt文件命令: mysql> 10.Internet采用哪种网络协议?该协议的主要层次结构?TCP/IP建立连接的过程? 11,尝试用多种方式实现死循环(c++代码)。 12,为了方便,在累的构造函数里面直接使用memset(shis,0,sizeof(*this));语句来初始化整个类,问 (1)这种写法,会有哪些弊端? (2)具备何种特性的类可以采用这种写法? 13.设计一个排行榜,有N条记录(记录结构:排名,用户名,积分),积分大的排名靠前,需要提供一下操作: 1>某一个用户积分发生变化的时候,更新排行榜数据结构 2>使用用户名,获取用户排名 3>获取第n名用户名和积分 问题: 1> dang N=1000时,请写出TopList类中未完成的成员函数? struct UserInfo { string name; long score; bool operator<(const UserInfo& rhs) { 1,______ } }; struct TopList { public: //刷新排行榜 bool Refresh TopList(const UserInfo& user) { 2,______ } //根据用户名活的用户排名 int GetRankByUserName(string& name) { 3,______ } //根据用户名次取得用户信息 UserInfo* GetUserByRank(long rank) { 4,______ } private: std::multiset }; 2>当N=1000万时,设计排行榜的数据结构,和相关操作的算法?(伪代码表示) 1.20端口是____ ftp _____ 2.PING是使用TCP/IP协议中的____ ICMP __协议 3.443端口是_______服务使用的443端口:443端口即网页浏览端口,主要是用于HTTPS服务,是提供加密和通过安全端口传输的另一种HTTP。 4.标准端口的范围是__0~65535(有些地方出现的是1~65535)_________ 5.查看服务器当前正在连接IP列表命令是__ netstat-a ______ 6.IIS服务的命令行方式重启命令是iisreset /start 或net stop iisadmin, net start iisadmin 7.在FTP命令当中查看本地文件列表命令是__ list _____ 8.HTTP403错误是___403未找到。_____ 9.ASP默认执行身份是 _______帐号 IWAM_机器名:ASP默认执行身份帐号 10.WEB默认的匿名访问帐号是__________ IUSR_机器名:WEB默认匿名访问账号 11.写出域名解析的过程和具体步骤。 域名解析就是国际域名或者国内域名以及中文域名等域名申请后做的到IP地址的转换过程。.1:例如客户机向本地服务器发请求,要求解的Ip地址 2:本地服务器在数据库中寻找相应条目(如果没有则向根域服务器发出请求查询代理“.com”域的服务器地址,根域收到请求将代理“.com”域的服务器IP发给本地服务器,本地服务器收到后向代理“.com”域的服务器发送请求查询“baidu.com”域的服务器的IP,“.com”域服务器将“baidu.com”域服务器Ip发给本地服务器,本地服务器再向“baidu.com”域服务器请求查询“www.xiexiebang.com”域服务器将“www.xiexiebang.com+组件帐号 在CMD中输入cscript c:inetpubadminscriptssynciwam.vbs-v 回车帐号同步完毕 ⑤最后就是在服务管理中重启一次World Wide Web Publishing Service服务 13.客户网站我们自己可以正常访问,客户却无法访问,确定服务器没有问题,防火墙也没有封客户的IP地址,应该如何向客户解释和判断问题的步骤。 1、是否为客户本地ISP域名解析问题--是的话通知客户需要耐心等待当地ISP并协商解决 2、是否为客户电脑HOST文件问题(含系统问题)---通知客户上门服务要收取费用,并告知不一定能够解决 3、客户所处网络有问题,告知客户:谁给你安的宽带你找谁,他封了你 14.FTP上传有哪两种模式各自的区别是什么? FTP是一种文件传输协议,它支持两种模式,一种方式叫做Standard(也就是Active,主动方式),一种是 Passive(也就是PASV,被动方式)。Standard模式 FTP 的客户端发送 PORT 命令到FTP server。Passive模式FTP的客户端发送 PASV命令到 FTP Server。 下面介绍一个这两种方式的工作原理: Standard模式FTP 客户端首先和FTP Server的TCP 21端口建立连接,通过这个通道 发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含 了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。FTP server必须和客户端建立一个新的连接用来传送数据。Passive模式在建立控制通道的时候和Standard模式类似,当客户端通过这个通道发送PASV 命令的时候,FTP server打开一个位于1024和5000之间的随机端口并且通知 客户端在这个端口上传送数据的请求,然后FTP server 将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。 15.写常见的服务对应端口的对照表至少10个。 如:FTP :21= 文件传输= 远程终端= 发送邮件 SMTP = WEB网页 = pop3邮件 = 文件共享 143端口=IMAP 443 = 安全WEB访问 445 = SMB(交换服务器消息块) 53=DNS 很多啊。 16.写出从test1@test1.com发一封EMAIL到test2@test2.com的具体发送过程步骤。 一般来说,E-mail的发信方式分为两种:一种是通过ISP或免费邮箱服务商提供的SMTP发信服务器中转的发信方式;另一种则是通过本机建 立S MTP发信服务器直接发送电子邮件的方式。 1、通过邮件发信服务器发信的收发过程。 如图1所示,在这一发信过程中,首先由发信人通过电脑将电子邮件发送到SMTP发信服务器上,如果发信服务器收到的邮件合法,发信服务 器通过一种“存储转发”技术,将该电子邮件在服务器上排队,当轮到该邮件发送顺序时,再由发信服务器将邮件发送到对方的收信服务器(M X邮件交换服务器)上,再由收信服务器转发到POP3服务器上(很多服务器系统的收信服务器和POP3服务器是同一服务器),最后由收件人通过 电脑上的客户端软件将电子邮件从P OP3服务器上取走。 2、通过本机直接发送电子邮件的过程。 与上述发送过程不同的是,一些软件提供本机直接发送电子邮件到收信服务器上的功能,其实就是利用本机电脑建立一个SMTP发信服务器,由本机充当发信服务器的功能,绕过I SP或免费邮箱提供的SMTP发信服务器。因此本机既充当发信人电脑,又充当发信服务器,其发信过程 与上述过程类似,但减少了发信人与发信服务器之间的网络传输过程和邮件的排队等待时间。 更简单的:test1@test1.com--smtp--server--dns--internet--dns--server--pop3--test2@ test2.com 17.新建一个虚拟主机站点,使其支持安全的FSO。 FSO的英文全称是File System Object,即文件系统对象,如不提供此服务,将无法实现上传等功能。自建服务器,可在IIS中选上可写入功能,如果WEB所在目录是NTFS,还需要配置一下WEB目录中的权限。 18.对客户的数据做一个定期自动全备份和增量备份的方案,设置服务器每周一、三、五凌晨5点整定时自动重新启动。 启用计划任务--备份--选择每周一、三、五凌晨5点 19.备份和恢复IIS,FTP配置信息。 计算机管理--INTERNET信息服务--右键--备份/还原配置 20.使用系统自带的IP安全策略新建一个NEW名称的IP策略,使其关闭PING,并且禁139,135端口,再封掉192.168.0.0这个网段。 我的电脑--控制面板--管理工具--本地安全策略--ip安全策略 21、分别查找出一台服务器上匿名访问量最大的站点、内存使用最多的站点、CPU使用最多的站点。 查查资料 22、A、B、C 都是私有IP 私有网络地址: A:10.0.0.0~10.255.255.255 B:172.16.0.0~172.31.255.255 C:192.168.0.0~192.168.255.255 上面例举的私有网络地址只能够在局域网内部使用,如果要想让私有网 络地址访问外网,它可以通NAT(网络地址转换),来进行对私有地址的转换,才可以访问外网。 23、全双工通信 24、Uplink口是交换机上常见的一种端口,它是为了便于两台交换机之间进行级联的端口。 它与其相邻的普通UTP口使用的是同一通道,因而,如果使用了Uplink口,另一个与之相邻的普通端口就不能再使用了。这两个端口称为共享端口,不能同时使用。 25、从OSI体系结构来看,集线器属于OSI的第一层物理层设备,而交换机属于OSI的第二层数据链路层设备。 这就意味着集线器只是对数据的传输起到同步、放大和整形的作用,对数据传输中的短帧、碎片等无法有效处理,不能保证数据传输的完整性和正确性;而交换机不但可以对数据的传输做到同步、放大和整形,而且可以过滤短帧、碎片等。 从工作方式来看,集线器是一种广播模式,也就是说集线器的某个端口工作的时候其他所有端口都有名收听到信息,容易产生广播风暴。 当网络较大的时候网络性能会受到很大的影响,那么用什么方法避免这种现象的发生呢?交换机就能够起到这种作用,当交换相工作的时候只有发出请求的端口和目的端口之间相互响应而不影响其他端口,那么交换机就能够隔离冲突域和有效地抑制广播风暴的产生。 从带宽来看,集线器不管有多少个端口,所有端口都共享一条带宽,在同一时刻只能有两个端口传送数据,其他端口只能等待;同时集线器只能工作在半双工模式下。 而对于交换机而言,每个端口都有一条独占的带宽,当两个端口工作时并不影响其他端口的工作,同时交换机不但可以工作在半双工模式下也可以工作在全双工模式下 26、T568B标准连线顺序从左到右依次为:1-橙白、2-橙、3-绿白、4-蓝、5-蓝白、6-绿、7-棕白、8-棕。1 输出数据(+)输出数据(-)输入数据(+)保留为电话使用保留为电话使用输入数据(-)保留为电话使用保留为电话使用 由此可见,虽然双绞线有8根芯线,但在目前广泛使用的百兆网络中,实际上只用到了其中的4根,即第1、第2、第3、第6,它们分别起着收、发信号的作用。 27、1000M网线做法:千兆5类或超5类双绞线的形式与百兆网线的形式相同,也分为直通和交*两种。直通网线与我们平时所使用的没有什么差别,都是一一对应的。但是传统的百兆 网络只用到4 根线缆来传输,而千兆网络要用到8 根 来传输,所以千兆交*网线的制作与百兆不同,制作 方法如下:1对3,2对6,3对1,4对7,5对8,6对2,7对4,8对 5一端为:白橙、橙,白绿、兰,白兰、绿,白棕、棕 另一端:白绿、绿,白橙、白棕、棕,橙,兰,白兰 一直以来关于1000M网线做法,在采用6类线做材质的情况下,有两种意见: 1。使用 TIA568B 即两头都用 白橙橙白绿蓝白蓝绿白棕棕 这样连接 2。使用全交叉 对应如下 白橙橙白绿蓝白蓝绿白棕棕 12345678 白绿绿白橙白棕棕橙蓝白蓝 其实 两种在1000M交换机中都一样,因为1000M交换机都支持自动调整线序功能的。网线水晶头有两种做法标准.标准为TIA/EIA 568B和TIA/EIA 568A.制作水晶头首先将水晶头有卡的一面向下,从左至右排序.12345678 TIA/EIA-568B: 1、白橙,2、橙,3、白绿,4、蓝,5、白蓝,6、绿,7、白棕,8、棕 TIA/EIA-568A: 1、白绿,2、绿,3、白橙,4、蓝,5、白蓝,6、橙,7、白棕,8、棕 根据网线两端水晶头做法是否相同,有两种网线。 直通线:网线两端水晶头做法相同,都是TIA/EIA-568B标准,或都是TIA/EIA-568A标准.用于:PC网卡到HUB普通口,HUB普通口到HUB级联口.一般用途用直通线就可全部完成.交叉线:网线两端水晶头做法不相同,一端TIA/EIA-568B标准,一端TIA/EIA-568A标准.用于:PC网卡到PC网卡,HUB普通口到HUB普通口.如何判断用直通线或交叉线: 设备口相同:交叉线,设备口不同:直通线.注意:由于生产厂家的不同,有时相同种类设备的接法正好相反.网卡有10M,10M/100M,100M,1000M.网线有3类(10M)、5类(100M)、超5类线(155M)、6类线(255M) 分别对应了不同的网卡和网速,现在一般最低用5类线.它们的网线做法都相同.网络设备HUB有两种接口:普通口和级联口(UP-LINK).普通口:用于和网卡相连.(直通线) 也可用于和另一个HUB普通口相联.(交叉线) 级联口(UP-LINK):用于和另一个HUB普通口相联.(直通线) 注意:有的HUB级联口(UP-LINK)为自适应,就是直通线、交叉线都可以.网线水晶头有两种做法标准.标准为TIA/EIA 568B和TIA/EIA 568A.制作水晶头首先将水晶头有卡的一面向下,从左至右排序.12345678 TIA/EIA-568B: 1、白橙,2、橙,3、白绿,4、蓝,5、白蓝,6、绿,7、白棕,8、棕 TIA/EIA-568A: 1、白绿,2、绿,3、白橙,4、蓝,5、白蓝,6、橙,7、白棕,8、棕 根据网线两端水晶头做法是否相同,有两种网线。 直通线:网线两端水晶头做法相同,都是TIA/EIA-568B标准,或都是TIA/EIA-568A标准.用于:PC网卡到HUB普通口,HUB普通口到HUB级联口.一般用途用直通线就可全部完成.交叉线:网线两端水晶头做法不相同,一端TIA/EIA-568B标准,一端TIA/EIA-568A标准.用于:PC网卡到PC网卡,HUB普通口到HUB普通口.如何判断用直通线或交叉线: 设备口相同:交叉线,设备口不同:直通线. Java开发工程师笔试题 一、单项选择题(每题2分,共计30分) 1.下列哪一种叙述是正确的(A).abstract修饰符可修饰字段、方法和类 (B).抽象方法的body部分必须用一对大括号{}包住 (C).声明抽象方法,大括号可有可无 (D).声明抽象方法不可写出大括号 2.如下代码 public class Test { public int aMethod(){ static int i = 0; i++; return i; } public static void main(String args[]){ Test test = new Test(); test.aMethod(); int j = test.aMethod(); System.out.println(j); } } 输出结果是什么? (A).0 (B).1 (C).2 (D).编译失败 3.以下代码的输出结果是()? public class Test1{ public static void main(String[] args){int i = 42; String s =(i < 40)? “life” :(i > 50)? “universe” : “everything”;System.out.println(s); } } (A).life (B).universe (C).everything (D).以上答案都不对。 4.当你编译和运行下面的代码时,会出现下面选项中的哪种情况? public class Test{ static boolean paddy; public static void main(String[] args){ System.out.println(paddy); } } (A).编译时出错 (B).编译通过并输出结果false (C).编译通过并输出结果true (D).编译通过并输出结果null 5.如下代码: class Base { public Base(){ System.out.print(“Base”); } } public class Alpha extends Base { public static void main(String[] args){ new Alpha(); new Base(); } } 结果是什么? (A).Base (B).BaseBase (C).编译失败.(D).代码运行但没有输出.(E).运行时抛出异常 6.如下代码: public class Foo { public static void main(String[] args){ try { return; } finally { System.out.println(“Finally”); } } } 输出结果是什么? (A).Finally (B).编译失败 (C).代码正常运行但没有任何输出.(D).运行时抛出异常 7.下列关于构造方法的叙述中,错误的是() (A).Java语言规定构造方法名与类名必须相同 (B).Java语言规定构造方法没有返回值,但不用vold声明 (C).Java语言规定构造方法不可以重载 (D).Java语言规定构造方法只能通过new自动调用 8.构造函数何时被调用() (A).类定义时 (B).创建对象时 (C).调用对象方法时 (D).使用对象的变量时 9.JDBC中,用于表示数据库连接的对象是: (A).Statement (B).Connection (C).DriverManager (D).PreparedStatement 10.需要读一个比较大的文本文件,这个文件里有很多字节数据,那么下列最合适读这 类文件的选项是哪一个? (A).new FileInputStream(“myfile.txt”); (B).new InputStreamReader(new FileInputStream(“myfile.txt”)); (C).new BufferedReader(new InputStreamReader(new FileInputStream(“myfile.txt”))); (D).RandomAccessFile raf = new RandomAccessFile(“myfile.txt”, “+rw”); 11.在List,Map,Set等接口中,不能包含重复元素的接口是哪一个? (A).List (B).Map (C).Set (D).都不是 12.有如下程序: 1.classTest4{ 2.public static void main(String []args){ 3.boolean x=; 4.boolean y=false; 5.short z=42; 6.7.if((z++==42)&&(y=true))z++;8.if((x=false)||(++z==45))z++;9. 10.System.out.println(“z=”+z);11.} 12.} 结果为: (A).44 (B).45 (C).46 (D).编译出错 13.有如下程序 11.public class Test { 12.public static void main(String [] args){ 13.int x =5; 14.boolean b1 = true; 15.boolean b2 = false; 16.17.if((x==4)&&!b2) 18.System.out.print(“l ”); 19.System.out.print(“2 ”); 20.if((b2 = true)&& b1) 21.System.out.print(“3”); 22.} 23.} 运行的结果为: (A).2 (B).3 (C).1 2 (D).2 3 (E).1 2 3 (F).编译错误 (G).抛出一个运行时异常 14.以下语句有语法错的是: (A).int x=1;y=2;z=3 (B).for(int x=10,y=0;x>0;x++); (C).while(x>5); (D).for(;;); 15.下面有关类 Demo 的描述正确的有() public class Demo extends Base{ private int count; public Demo(){ System.out.println(“A Demo object has been created”); } protected void assone(){ count++; } } (A).当创建一个 Demo 类的实例对象时,count 的值为 0 (B).当创建一个 Demo 类的实例对象时,count 的值是不确定的(C).Base 类型的对象中可以包含改变 count 值的方法 (D).Demo 的子类对象可以访问 count 二、1.2.3.4.5.问答题(每题5分,共计25分)String是最基本的数据类型吗? String 和StringBuffer的区别? Java中的“==”和equals()方法有什么区别? 描述一下JSP中转发和重定向的区别? 请说出作用域public,private,protected,以及不写时的区别? List, Set, Map是否继承自Collection接口?分别说出它们的特点? 三、编程题(每题15分,共计45分) 1.已知有一个数列:f(0)= 1,f(1)= 4,f(n+2)=2*f(n+1)+ f(n),其中n是大于0的整数,求f(10)的值。 2.写一个算法对1,8,5,2,4,9,7进行顺序排列。 3.使用输入输出流的API实现文件拷贝功能。 人人网Java开发工程师笔试题 填空题(10题) 1、JAVA面向对象三大特征:继承、封装、多态 2、Sleep()和wait()的区别: sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级(b)正在运行的线程因为其它原因而阻塞。 wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。 3、类被JVM回收的标志 4、重写JAVA equals方法,还要同时重写hashCode()方法 5、String,StringBuilder,StringBuffer的区别 String是固定长度的字符串,如果要发生变化必须重新生成新的实例; String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 6、增加数据库一列的SQL语法:ALTER TABLE table_name ADD column_name TYPE; 7、JSP内置对象及方法request、__、__、__(列出3个即可) Request,response,out,session,page,application,exception, config, pageContext8、List,Set,Map是否继承Collection接口? List,Set是 ,Map不是 9、数据库事务正确执行的基本要素:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。 10、10,100,32,45,58,126,3,29,200,400,0利用除商留余法构造存于长度为13的数据的HASH 不是很明白题目的意思,下面是加法hash,可以存于长度为prime的数据hash static int additiveHash(String key, int prime) { int hash, i; for(hash = key.length(), i = 0;i < key.length();i++) hash += key.charAt(i); return(hash % prime); } 选择题(5题) 单选多选不定 1、int I = 42; long l = 42; double d = 42.0; 下面为true的是 A、(I == l) B、(I == d) C、(l == d) D、i.equals(d) E、d.equals(l) F、i.equals(l) G、l.equals(42L) (FG) 2、对于abstract声明的类,下面说法正确的是 A、可以实例化 B、不可以被继承 C、子类为abstract D、只能被继承 E、可以被抽象类继承 (E)3、4、5、下面代码执行后结果为 Int x = 8, y = 2, z; z = ++x*y; Z = x/y++ A、x =16, y = 2 B、x =16, y = 3 C、x =18, y = 2 D、x =18, y = 3 (D) (中间两题忘了,不难,是单选) 问答题(5题) 1、int I = 0; I = i++;I = i++;是线程安全的吗?如果不是,那它在JVM中是如何实现的?JDK 中有哪个类可以实现这个目标又是线程安全的?这个类线程安全的原理是什么? AtomicInteger,一个提供原子操作的Integer的类。在Java语言中,++i和i++操作并不 是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一种线程安全的加减操作接口。 (参考:http:///n/10512/这位仁兄估计是参加了早上那场笔试) 2、int a[100] = { 1 2 2 3 ……}, 数组元素都为正整数,且a[i+1] >= a[i], 请快速输出a[i] = i的数。 3、int a[100] = { 1 2 3 3 4 3 2 ……}, 数组中所有元素都为正整数,求a[i] + a[t] = a[x], I, t, x 均 小于等于n,求最大的a[x].4、用java扫描指定文件夹下面所有以.txt,.log结尾的文件,并将其绝对路径输出。 5、简述你所熟悉的设计模式。模拟一个应用场景,并说出你所使用的设计模式的优缺点(单 例模式除外)。 附录: 网友总结的上次人人网笔经、面经 By neoxung@ITEYE 2010-04-06 【笔试】 拿到是JAVA研发工程师基础笔试题,总体感觉是针对应届毕业生,考题比较基础但面比较宽泛。大致记录如下: 1.一个部门1/2为系统工程师,2/5为软件工程师,1/4两者都是,那么两者都不是的比例?---集合覆盖 2.某设计运动员射击10次,总中90环,如果每次射击为0-10环,列出其成绩所有可能值的表达式。---缺失的10环的10次分配 3.高度为h的满树其总结点数为?中序遍历为?---树 4.针对10,100,32,45,58,126,3,29,200,400,0利用除商留余法构造存于长度为13的数据的HASH。---实在不会 5.简述进程与线程的区别。---“本质的区别在于每个进程有它自己的变量的完备集,线程则共享相同的数据” 6.简述网络三次握手的过程。---网络基础 7.关于ICMP的特性。 8.根据子网掩码判断已知的IP地址是否在当前子网内。 9.Linux系统开启新进程的命令?进程间通信的方法。 10.shell编程。 11.仅仅提交更新部分的数据而不是全部数据违反了数据库的什么规则?---数据库 12.第一范式的特性。 13.增加数据表一列的SQL语法。 14.非主键索引为什么能提高搜索效率但会降低更新效率? 15.编写代码将任一字符串按照某子串进行分割,并将处理后的内容反向输出。例如“A B C”,按照“ ”分割,最终输出“C B A”---考察得基础而全面,设计API,正则,StringBuilder等内容 16.编写代码删除某文件目录下的所有子目录和文件,并输出目录的名字,路径以及文件的内容。---同样是对文件系统API及异常的考察 17.Cpp代码 1.int x = 999; 2.int countx = 0; 3.while(x){ 4.countx++; 5.x=x&(x-1); 6.} 7.return countx; ---countx最终返回什么内容? 18.列举平常经常浏览的网站以及关注的技术。 19.简述三年的职业规划。 【面试】 前面的笔试已经看出多是考察的基本功,针对社招的有经验者面试官除了扫一遍考题外主要注重以往做过什么项目,用过什么技术,担当什么样的角色,是否 积累了相关行业的从业经验。个人感觉人人比较看重求职者的综合素质和技能,最好什么都会并对互联网行业工作性质比较适应这样基本就能进门了,如果再对分布 式、缓存与服务器集群,负载均衡有实践经验就有资本要价了。如果通过了技术面试官的筛选,接下来更高级别的面试官主要对个人未来的职业规划比较关注,他们 希望了解求职者对互联网、SNS、人人网有怎么样的认知并相对性地有怎样的职业规划,这一般需要互联网行业的实际工作经验才能回答好,我就是因为缺乏对互 联网行业的认知所以回答的不很到位,比较可惜。 【其他】 实话实说千橡的办公环境、休息区都还是挺不错的,和不同级别的面试官聊后也感觉工作氛围是比较开放的,唯一不能避免的就是行业造成的加班(不过通常 也不严重,平均7点半)。特别要说的是面试作为一场博弈有不少细节还是要注意,求职者与面试官其实都是为了同一个目的坐在一起,所以交谈中会不由自主地往 对方靠,比较显而易见的例子就是面试官对求职者的启发,同时面试官也是普通的人,细心的求职者可以通过所掌握的信息迎合他的喜好,这点不好多说,总之就是 要做到细心观察、多交互、恰当应对。 腾讯web前端开发工程师笔试题及答案 1、如何实现事件委托? 首先要知道什么是事件委托。考虑一个列表,在li的数量非常少的时候,为每一个li添加事件侦听当然不会存在太多性能方面的问题,但是当列表非常的长,长到上百上千甚至上万的时候(当然只是一个解释,实际工作中很少遇到这么多li的情况),为每个li添加事件侦听就会对页面性能产生很大的影响。 就像下面这段代码:第二篇:网络工程师笔试题
第三篇:Java开发工程师笔试题
第四篇:人人网Java开发工程师笔试题
第五篇:腾讯web前端开发工程师笔试题及答案
- 精通css
- 精通js
- 精通html
......
首先,我们来想下,产生性能问题的根本原因是什么呢?li元素(目标对象)所要进行的事件处理了。怎么可以解决这种囧况呢?
答案就是采用事件委托,将在li对象上面要处理的事件委托给父元素或者祖先元素,即为父元素绑定事件侦听,看看下面的改进代码:
- 精通css
- 精通js
- 精通html ......
虽然现在很多框架都已经实现了事件委托,但是作为一个开发人员,用框架的同时我们也应该知道他实现的原理是如何的,知其然,更要知其所以然
2、将10进制的数302转为二进制。十进制转二进制的原理是:用2辗转相除至结果为1
将余数和最后的1从下向上倒序写 就是结果例如302302/2 = 151 余0151/2 = 75 余175/2 = 37 余137/2 = 18 余118/2 = 9 余09/2 = 4 余14/2 = 2 余02/2 = 1 余0
故二进制为100101110所以程序可以写成这样:
var a=302;var str="";while(a>1){str = a%2 + str;a = parseInt(a/2);}
str = a+str;
3、js中运算符的优先级(此非原题,为原理题)
运算符.[]()
++--+ << >> >>>
< <= > >= instanceof ==!= ===!== &
描述
字段访问、数组下标、函数调用以及表达式分组 一元运算符、返回数据类型、对象创建、未定义值 乘法、除法、取模 加法、减法、字符串连接 移位
小于、小于等于、大于、大于等于、instanceof 等于、不等于、严格相等、非严格相等 按位与
^ | && || ?: = oP= ,按位异或 按位或 逻辑与 逻辑或 条件
赋值、运算赋值 多重求值
4、typeof(null)=______ 答案为object5、JS中给全部都是数字元素的数组排序的原生方法是,其中使用的是__泡__排序方法。
例如:array.sort(function(a,b){return a-b;})详细说明访问网站:
6、NaN * 6=__
7、JS中调用某个函数之前,如何取得该函数最多可以传递多少个参数?该函数被调用时,如果知道传了多少个参数过来?
假设函数名为fun,那个fun.length就是它最多能接受的参数个数; 在fun函数里面,arguments就是用数组装着调用时传过来的所有参数,因此arguments.length就是已经传递过来的参数个数; 如:
functionneedTwoPara(p1,p2){var a=arguments;
var result='我是个需要'+needTwoPara.length+'个参数的函数n'+'您输入的参数的个数为:'+a.length+'n'for(var i=0, len = a.length;i < len;i++){
result=result+'第'+(i+1)+'个参数为:'+a[i]+'n'}
result+='以上是用arguments来获得参数n';result+='下面用变量来获得参数:n';result+='p1:'+p1+'n';result+='p2:'+p2+'n';alert(result);}
alert(needTwoPara.length);needTwoPara('ooooo');
运行结果为: 2
我是个需要2个参数的函数 您输入的参数的个数为:1 第1个参数为:ooooo
以上是用arguments来获得参数 下面用变量来获得参数: p1:ooooo p2:undefined8、软件HttpWatch的作用?
可以参考:http://baike.baidu.com/view/425789.htm9、JS如何得到HTTP的请求头信息和返回的头信息?
Javascript中跟response header有关的就两个方法: getResponseHeader 从响应信息中获取指定的http头 语法 strValue =
oXMLHttpRequest.getResponseHeader(bstrHeader);getAllResponseHeaders 获取响应的所有http头 语法 strValue =
oXMLHttpRequest.getAllResponseHeaders();
需要注意的是,通常,在IE下不能完整的获取header报头数据,只能取到如下header数据: X-Powered-By: X-UA-Compatible: Keep-Alive: Transfer-Encoding: Content-Type:
比如你要获取时间戳,在IE下必须做些特殊处理,需要在后端设置一下,关闭缓存:
1.header('Cache-Control: no-store');// 关闭缓存