摘要
本书三大特色:
就业指导:本书记录了阿里巴巴、百度、腾讯等大牛的采访记录,为求职者提供全面的就业指导。
刷题神器:本书列举了名企往年的面试笔试题(包括编程题),读者可以参考往年题目和提醒进行练习和训练。
职业生涯:当你决定成为程序员的时候,你未来的职业生涯发展规划之路应该是怎样的,这些大牛前辈来告诉你,他们有的成为了优秀的管理者,有的人成为了CEO……那么,你呢?来书里找答案!
高薪offer不难拿,只怕有心人!
给想当程序员的你 程序员面试宝典与进阶秘笈 作者:郑萌
给想当程序员的你 程序员面试宝典与进阶秘笈 出版社: 清华大学出版社
给想当程序员的你 程序员面试宝典与进阶秘笈 内容简介
《给想当程序员的你:程序员面试宝典与进阶秘笈》致力于为年轻程序员做全面且精准的就业指导,从技术干货、企业招聘试题、一线企业高级工程师的指导意见等角度提供实用的就业指南;就怎样才能进入心仪的企业,掌握哪些技术知识点会为自己加分,职业生涯该如何发展规划等问题进行逐一解答,从而为广大年轻程序员提供有效的帮助。
《给想当程序员的你:程序员面试宝典与进阶秘笈》依据编程语言及技术种类划分为5章,分别是C/C、Java、PHP、Android和iOS,每章分为初级、中级、高级所对应的工程师标准,与各个知识点相关的企业招聘试题,专家团队介绍以及专家的访谈内容和对年轻程序员未来发展的建议。
知己知彼,方能百战不殆。要想进入理想的企业,就需要了解企业到底需要什么样的人才,然后有针对性地训练自己的技能,这样才能拿到梦寐以求的offer。
给想当程序员的你 程序员面试宝典与进阶秘笈 目录
前言
第1章 C/C++
1.1 C/C++工程师标准
1.2 专家介绍
1.3 专家意见
1.4 Q&A专访
第2章 Java
2.1 Java工程师标准
2.2 专家介绍
2.3 专家意见
2.4 Q&A专访
第3章 PHP
3.1 PHP工程师标准
3.2 专家意见
3.3 专家意见
3.4 Q&A专访
第4章 Android
4.1 Android工程师标准
4.2 专家介绍
4.3 专家意见
4.4 Q&A专访
第5章 iOS
5.1 iOS工程师标准
5.2 专家介绍
5.3 专家意见
5.4 Q&A专访
附录 各种语言和技术的工程师标准
给想当程序员的你 程序员面试宝典与进阶秘笈 精彩文摘
第1章C/C++
C语言是一种结构化语言,它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强,它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构,还可以直接访问内存的物理地址,进行位一级的操作。而在C语言的基础上,1983年又由贝尔实验室的BjarneStrou-strup推出了C++。C++进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。C++提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统的结构化程序设计不同的思维方式和编程方法,因而也增加了整个语言的复杂性,掌握起来有一定的难度。
1.1C/C++工程师标准
1.1.1初级要求
标准C基础:一般应包括对于数据类型、变量常量、数组、函数、指针和字符串、结构、联合和枚举的理解和运用。
作为一个合格的软件工程师,具备扎实的编程基础是十分必要的,这也是各大互联网公司面试中一定会考察的知识点。例如下面的题目摘自某知名互联网公司的招聘考试试题。
题1-1:请看下面的代码。程序运行的结果是()。
#include<stdio.h>
intmain()
{
inta=1,b=2,c=3,d=0;
if(a==1 & &b++==2)
if(b!=2||c--!=3)
printf("%d,%d,%d\n",a,b,c);
else
printf("%d,%d,%d\n",a,b,c);
else
printf("%d,%d,%d\n",a,b,c);
return0;
}
A.3,2,1B.1,3,2
C.1,3,3D.1,2,3
正确答案:C
【解析】
if(a==1 & &b++==2)//条件成立。运算后a=1,b=3
if(b!=2||c--!=3)//条件1成立,因为或运算在条件1成立后条件2不执行
printf("%d,%d,%d\n",a,b,c);//a=1,b=3,c=3
else
printf("%d,%d,%d\n",a,b,c);
else
printf("%d,%d,%d\n",a,b,c);
题1-2:下列代码中,prim函数的功能是分解质因数。请填写括号中的内容。
voidprim(intm,intn)
{
if(m>=n)
{
while(①)n++;
(②);
prim(m,n);
cout<<n<<endl;
}
}
正确答案:①m%n②m/=n
【解析】n从2开始,第一处为m%n,代表取余。当余数是0的时候表示除尽,跳出while循环,即找出一个质因数。此时一个质因数即为n,然后m/=n,即让m除以这个质因数,然后再进入求新m质因数的递归。
题1-3:若有以下类型说明语句:charw;intx;floaty;doublez;则表达式w-x*y/z的结果为double类型,表达式(int)(x+y-z*w)的结果为()类型。
A.float
B.char
C.int
D.double
正确答案:C
【解析】当操作数的类型不同,而且不属于基本数据类型时,经常需要强制类型转换,将操作数转化为所需要的类型。显式强制类型转换需要使用强制类型转换运算符,格式如下:
type(<expression>)或(type)<expression>。其中,type为类型描述符,如int、float等。
<expression>为表达式。经强制类型转换运算符运算后,返回一个具有type类型的数值,这种强制类型转换操作并不改变操作数本身,运算后操作数本身未改变。
题1-4:C语言中运算对象必须为整型的运算符是()。
A.%=
B./
C.=
D.<=
正确答案:A
【解析】%=是取模运算,也就是求余数的运算,只有整数才能取模。
题1-5:在C语言程序中,表达式8/5的结果是()。
A.1.6
B.1
C.3
D.0
正确答案:B
【解析】C语言中整数的运算结果仍然为整数。
题1-6:设x为int型变量,且x=10,则执行语句x+=x后,x的值为()。
A.10
B.20
C.40
D.30
正确答案:B
【解析】例如式子a+=b,即把a+b的值再赋值给a。对于本题来说,x+=x即把x+x的值赋给x,x最后为20。
题1-7:在C语言程序中,表达式5%2的结果是()。
A.2.5
B.2
C.1
D.3
正确答案:C
【解析】%指的是取余数,5除以2的余数为1。
题1-8:如果inta=3,b=4;则条件表达式a<b?a:b的值是()。
A.3
B.4
C.0
D.1
正确答案:A
【解析】a<b?a:b的意思是,如果a<b为true结果为a;如果a<b为false结果为b。本题中a<b为true,因此结果为3。
题1-9:C语言中,关系表达式和逻辑表达式的值是()。
A.0
B.0或1
C.1
D.T或F
正确答案:B
【解析】逻辑表达式是指运算符为或(||)、与( & &)、非(!)的表达式。返回值为0或1,0表示false,非0表示true。关系表达式是指运算符为<、<=、>、>=、==、!=的表达式,返回值同样为0或1。
题1-10:设a、b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是()。
A.'a' & &'b'
B.a<=b
C.a||b+c & &b-c
D.!((a<b) & &!c||1)
正确答案:D
【解析】||和 & &的优先级高于+和-,||和 & &的优先级相等,且是左结合的,就是从左边开始结合到右边。
题1-11:下面()表达式的值为4。
A.11/3
B.11.0/3
C.(float)11/3
D.(int)(11.0/3+0.5)
正确答案:D
【解析】A.整数的运算结果仍然为整数,结果为3;B.由于11.0是float型,因此计算结果也为float型,值为3.0;C.结果强制类型转换为float类型,值为3.0;D.11.0/3+0.5=4.1,强制类型转换为整型,结果为4。
题1-12:已知intx=5,y=5,z=5;执行语句x%=y+z;后,x的值是()。
A.0
B.1
C.5
D.6
正确答案:C
【解析】x=x%(y+z),x=5%(5+5)=5,结果为5。
题1-13:已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2中的值为()。
A.68
B.'D'
C.错误
D.'d'
正确答案:B
【解析】c2的ASCII码为十进制数68,因为c2是字符型的,所以应该是字母D。
题1-14:下列关于C语言的叙述错误的是()。
A.大写字母和小写字母的意义相同
B.不同类型的变量可以在一个表达式中
C.在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D.同一个运算符号在不同的场合可以有不同的含义
正确答案:A
【解析】C语言中,大小写代表不同的两个标识符。A错误。
本文来自掩于岁月投稿,不代表电子书资源网立场,如若转载,请联系原作者获取。