下列程序执行后的输出结果是
void func1(int i);
void func2(int i);
char st[]="hello,friend!";
void func1(int i)
{ printf("%c",st[i]);
if(i<3){i+=2;func2(i);}}
void func2(int i)
{ printf("%c",st[i]);
if(i<3){i+=2;func1(i);}}
main()
{ int i=0; func1(i); printf("\n");}
A.hello
B.hel
C.hlo
D.hlm
以下程序的执行结果是______
include<iostream.h>
void func(int);
void main()
{
int k=4
func(k) ;
func(k) :
cout<<end1;
}
void func(int a)
{
static int m=0;
m+=a;
cout<<m<<" ";
}
( 35 ) 有如下程序
#include
using namespace std;
class A{
public:
virtual void func1( ){ cout<<"A1"; }
void func2( ){ cout<<"A2"; }
};
class B:public A{
public:
void func1( ){ cout<<"B1"; }
void func2( ){ cout<<"B2"; }
};
int main( ){
A *p=new B;
p->func1( );
p->func2( );
return 0;
}
运行此程序 , 屏幕上将显示输出
A) B1B2
B) A1A2
C) B1A2
D) A1B2
( 21 )有如下函数定义:
void func ( int a,int & b ) {a++; b++;}
若执行代码段:
int x=0 ,y=1
func ( x,y ) ;
则变量 x 和 y 值分别是
A ) 0 和 1
B ) 1 和 1
C ) 0 和 2
D ) 1 和 2
下列程序的输出结果为 #include<iostream.h> int func (int n) { if ( n <1)return l; else return n+func ( n-1 ); return O; } void main( 0 { cout <<func(5)<<end1; }
A.0
B.10
C.15
D.16
深圳力维智联技术有限公司6月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:生成器?可用的回答 :生成器的本质就是一个逐个返回元素的函数,即“本质函数”最大的好处在于它是“延迟加载”,即对于处理长序列问题,更加的节省存储空间。即生成器每次在内存中只存储一个值问题 Q2:def func(a,b=) 这种写法有什么坑?可用的回答 : def func(a,b=): b.append(a) print(b) func(1) func(1) func(1) func(1) 如:看下结果 1 1, 1 1, 1, 1 1, 1, 1, 1 函数的第二个默认参数是一个list,当第一次执行的时候实例化了一个list,第二次执行还是用第一次执行的时候实例化的地址存储, 所以三次执行的结果就是 1, 1, 1 ,想每次执行只输出1 ,默认参数应该设置为None。 问题 Q3:如何跨模块共享全局变量?可用的回答 :要在单个程序中跨模块共享全局变量,请创建一个特殊模块。在应用程序的所有模块中导入配置模块。该模块将作为跨模块的全局变量提供。问题 Q4:你常用的mysql引擎有哪些?各引擎间有什么区别?可用的回答 : 主要 MyISAM 与 InnoDB 两个引擎,其主要区别如下: 一、 InnoDB 支持事务,MyISAM 不支持,这一点是非常之重要。 事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而 MyISAM就不可以了; 二、 MyISAM 适合查询以及插入为主的应用,InnoDB 适合频繁修改以及涉及到安全性较高的应用; 三、 InnoDB 支持外键,MyISAM 不支持; 四、 MyISAM 是默认引擎,InnoDB 需要指定; 五、 InnoDB 不支持 FULLTEXT 类型的索引; 六、 InnoDB 中不保存表的行数,如 select count(*) from table 时,InnoDB; 需要扫描一遍整个表来计算有多少行,但是 MyISAM 只要简单的读出保存好的行数即可。 注意的是,当 count(*)语句包含 where 条件时 MyISAM 也需要扫描整个表; 七、 对于自增长的字段,InnoDB 中必须包含只有该字段的索引,但是在 MyISAM 表中可以和其他字段一起建立联合索引; 八、 清空整个表时,InnoDB 是一行一行的删除,效率非常慢。MyISAM 则会重建表; 九、 InnoDB 支持行锁(某些情况下还是锁整表,如 update table set a=1 where user like %lee% 问题 Q5:列举网络爬虫所用到的网络数据包,解析包?可用的回答 : 网络数据包 urllib、urllib2、requests 解析包 re、xpath、beautiful soup、lxml 问题 Q6:ngnix的正向代理与反向代理?可用的回答 : 正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容, 客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。 客户端必须要进行一些特别的设置才能使用正向代理。 反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。 客户端向反向代理的命名空间中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求, 并将获得的内容返回给客户端,就像这些内容原本就是它自己的一样。 问题 Q7:如何在Python中实现多线程?可用的回答 :Python有一个多线程库,但是用多线程来加速代码的效果并不是那么的好,Python有一个名为Global Interpreter Lock(GIL)的结构。GIL确保每次只能执行一个“线程”。一个线程获取GIL执行相关操作,然后将GIL传递到下一个线程。虽然看起来程序被多线程并行执行,但它们实际上只是轮流使用相同的CPU核心。有这些GIL传递都增加了执行的开销。这意味着多线程并不能让程序运行的更快问题 Q8:写爬虫使用多进程好,还是用多线程好?可用的回答 : IO密集型代码(文件处理、网络爬虫等), 多线程能够有效提升效率(单线程下有IO操作会进行IO等待,造成不必要的时间浪费,而开启多线程能在线程A等待时,自动切换到线程B,可以不浪费CPU的资源,从而能提升程序执行效率)。 在实际的数据采集过程中,既考虑网速和响应的问题,也需要考虑自身机器的硬件情况,来设置多进程或多线程 问题 Q9:Python中的lambda是什么?可用的回答 :它是一个单独的表达式匿名函数,通常用作内联函数。问题 Q10:描述数组、链表、队列、堆栈的区别?可用的回答 : 数组与链表是数据存储方式的概念,数组在连续的空间中存储数据,而链表可以在非连续的空间中存储数据; 队列和堆栈是描述数据存取方式的概念,队列是先进先出,而堆栈是后进先出; 队列和堆栈可以用数组来实现,也可以用链表实现。 算法题面试官常问到的一些算法题目整理如下(大概率会机考):算题题 A1:翻转整数题目描述如下:Given a 32-bit signed integer, reverse digits of an integer.Example 1:Input: 123Output: 321Example 2:Input: -123Output: -321Example 3:Input: 120Output: 21Note:Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: 231, 231 1. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.翻转一个整数。我直接用了转成字符串,然后取反然后转成整数的方法。效率过得去。beat 45%.测试地址:https:/
下列程序的输出结果为
#include<iostream.h>
int func(int n)
{
if(n<1) return 1;
else retur n+func(n-1) ;
return 0;
}
void main( )
{
cout < < func(5) < < endl;
}
A.0
B.10
C.15
D.16
对于类定义
class A{
public:
virtual void func1( ) {}
void func2( ) {}
};
class B: public A{
public:
void func1( ) {cout < < "class B func 1" < < endl;}
virtua1 void func2( ) {cout < < "class B func 2" < < endl;}
};
下面正确的叙述是
A.A: :func2( ) 和B: :func1( ) 都是虚函数
B.A: :func2( ) 和B: :func1( ) 都不是虚函数
C.B: :func1( ) 是虚函数,而A: :func2( ) 不是虚函数
D.B: :func1( ) 不是虚函数,而A: :func2( ) 是虚函数
窗体上有一个按钮和一个列表框,执行下列程序后的输出结果为【 】。
Private Sub Command1_Click()
List1.Addltem"China"
List1.Addltem"USA"
List1.Addltem"Japan",1
Print List1.List(2)
End Sub
有如下函数定义;void func(int a,int & b){a++;b++;}若执行代码段:int x=0,y=1;func(x,y);则变量x和y的值分别是
A.0和1
B.1和1
C.0和2
D.1和2
有如下程序#include <iostream>using namespace std;class A{public:virtual void func1 (){ cout<<"A1"; }void func2(){ cout<<"A2"; }};class B: public A{public:void func l(){ cout<<"B1"; }void func2(){ cout<<"B2"; }};int main() {A *p=new B;p->func1();p->func2();return 0;}运行此程序,屏幕上将显示输出( )。
A.B1B2
B.A1A2
C.B1A2
D.A1B2