(二)专业问题" [( K! M9 e/ y% x4 o4 B8 s( x
这部分问的就是,跟你的项目无关的专业知识,主要考察的是你对具体专业知识的掌握情况,以及编程能力。面试的形式有:问答,现场编程,上机编程。一般问答的形( I, a: C7 w w P: Q F
式居多,像微软、google、moto这种非常牛的公司,才会现场考你编程,纯考算法的公司也就那么几家。大部分情况都是问你一些基本的技术细节,考察你对专业基础知识的
" x9 `0 x2 D# J' `' U6 K* C8 K掌握情况。注意:IT企业往往问的都比较细,非IT领域的计算机职位往往问的比较泛泛。
& T: b9 ]# o" z 这部分的关键还是在于技术积累,因为很多技术问题你不知道就是不知道。所以多积累面试常见问题和知识点还是非常重要的。
. n' l2 i, D" q& P 下面按照不同的技术领域分类总结各部分常见的面试问题,括号中会标注该问题的来源。
. Q2 w% r: [8 d! l* o1、java4 i, u, U7 |, x: w' H4 b3 S' y
因为我投的职位主要是java相关的,所以这方面积累的经验比较多一下。这部分考查的重点主要有:java基本语法,多线程,异常处理,抽象类,匿名类,接口,MVC架构
3 ]% B( r: I* U* ],设计模式,Servlet,Struts,Spring,J2EE。以下是我遇见过的面试问题:& s8 s6 J8 @( D F+ s( X4 F+ Z2 r. c
1)transient和volatile是java关键字吗?(瞬联)" S, _% D S; e0 I+ }
2)抽象类和接口有什么区别?(瞬联)
8 Z) Q( m4 C. c+ o. k3)能说一下java的反射机制吗?(瞬联)3 E6 \! L7 s* X1 l# i$ c
4)在java中怎样实现多线程?(瞬联)
! c7 Y3 w3 W9 Z" p6 U$ z6 n4 _5)你用过哪种设计模式?(瞬联,IBM,aspenTech)/ u6 i: [6 P3 N6 u8 _$ g5 N
6)请说一下MVC架构(瞬联,IBM,aspenTech)3 f/ s) H$ G. [, G/ \0 r/ U/ |
7)如果类a继承类b,实现接口c,而类b和接口c中定义了同名变量,请问会出现什么问题?(瞬联)$ o; T K# i1 I
8)请说一下java中为什么要引入内部类?还有匿名内部类?(瞬联,IBM): B; J" G$ L, I* B
9)请说一下final,finally和finalize的区别?(瞬联)
7 V& D, H, J6 L: C10)请说一下HTTP请示的基本过程(IBM)5 `: R9 d( r0 @, U& r( [
11)java中存在内存泄漏问题吗?请举例说明?(IBM)
; W8 R# o$ s5 }; K3 F12)请说一下java中的内存回收机制所采用的算法(IBM,瞬联); K; g. |. j8 |. x! t# E# ]' K
13)请说一下System.gc()函数的作用。什么什么时候可以调用垃圾回收器?(瞬联)
: I0 H/ H5 u1 w) o14)你做过的项目中采用了什么安全认证机制?(IBM)) v0 K. i$ Y4 ]% S0 Y7 C
15)Math.round()什么作用? Q& j$ T$ e# H5 c. a
2、C" [6 C# Y1 h) m4 g C
C语言考查的重点一般是:指针、结构体、条件编译、全局变量/局部变量。以下是我遇见过的面试问题:
5 }& D6 ` L1 D9 N& ` \3 {! o1)请说一下extern C的作用(汉略)4 E) ~+ V3 [& Y- W3 N6 t
2)请说一下#ifdef...的作用(汉略)6 h* T3 B" f( k8 t& T7 a6 l5 U
3)C语言里,哪些变量是存放在堆里,哪些是存放在栈里?(普天)' J1 z0 n# f2 s9 {
4)C语言里的static关键词是什么含义?(普天)
: ~- @! I( e( ? i( p3 q2 D5)进程和线程有什么区别?(普天) z7 M" Q/ f: h$ U! S. E
3、C++
. i4 c7 J2 @6 W j- i/ A C++语言考查的重点主要有:多继承,抽象类,虚函数,拷贝构造函数,析构函数,动态联编,多态,const,static。以下是我面试中遇到的问题:
* u) a& i4 ^. Z" H: I J1)你听说过拷贝构造函数吗?能具体说一下它的作用吗?(汉略)
- a& P; ?# I" @: O- m( I3 i2)析构函数必须是虚函数吗?为什么?(汉略)
- Q* B) |& F2 h; x l' d: W3)你听说过钻石结构吗?请具体说一下(aspenTech)+ D* @- G, C' ^4 K* b6 ~6 f% Y
4)什么是深拷贝?什么是浅拷贝?他们有什么区别?(aspenTech)
' f2 |: N5 X9 y9 ~: x4 t% s- Y5)什么是虚函数,什么是纯虚函数?为什么引入虚函数和纯虚函数?(汉略,aspenTe
& q9 K3 v# Y, L- R) Och,普天)4 E/ S% I; {' n
6)请说一下面向对象的基本特性。(aspenTech)( @2 u6 D' _2 o$ T% ~- V
7)C++中的const关键定代表什么含义?跟C语言中的const有什么区别?(aspenTech)
2 \% F: K- |4 ] Q1 n4 s2 r; c8)C++中的static关键定代表什么含义?跟C语言、Java中的static有什么区别?(普天
* @/ k3 L% A3 f: h& u9 ^5 Y)+ w1 c- F, k: C5 V$ ^
4、数据结构
0 S7 \: M, }+ X6 Y 这是面试中几乎必考的部分。考查的重点有:链表,二叉树前序、中序、后序遍历(递归,非递归),二叉树结点、层次的计算,树转二叉树,各种排序算法(冒泡排序
: q K5 p' v/ L2 y9 b2 d* \,快速排序,堆排序是重点)。以下是我在面试中遇到过的问题: B. M/ K! B1 ~. S, F- Y
1)请编写程序,将一个链表倒置。(联发)
# A" L5 x3 _9 F2 w8 {- Q) T; |2)请编写二叉树的中序遍历非递归算法。(新华社)) s! M- z4 m) u& h/ P8 r
3)请编写一个程序,实现将树转化成二叉树。(华为)
V+ w* V) w. p4)一棵满二叉树有x个结点,请问整棵二叉树有多少结点?(新华社,中国信保)
- B; ?7 C8 ?* o1 _% r; B5)请编程实现一个堆排序算法/快速排序算法。(汉略)' J T9 I* @5 c+ X" m! S5 W
5、数据库
) k% O8 d: K, R$ V 这也是面试重点内容。主要考查点有:范式,1、2、3范式,事务,内连接,外连接,关系代数,数据库设计。以下是我遇到过的面试问题:
V$ \4 X, ^7 `, d' a9 G1)什么是范式、1范式、2范式、3范式?(百度,中航信,新华社,中国信保)
Q. y( V D5 {# L! I# J) u! u2)事务具有哪些特性?(中航信)( Z9 [; s$ l3 f6 C4 R. |7 [
3)请说说什么是外连接、左外连接、右外连接?(aspenTech)6 }) w6 h* }, D" o g7 I8 H
4)请说说关系代表中的几种基本运算?(中航信)
6 ^% i2 _6 ^7 ], i" ~$ E5)请对一个论坛进行数据库设计,并说说你设计的数据库满足哪个范式(百度)
/ ?" P9 j# P. ?, P6 M" ^) y+ i6)给你一个数据库需求,请对数据库进行设计,并根据要求写出查询语句(中国信保)
1 }) S, ]! g1 x+ p; t |' f, \4 T6、网络: ]: m7 E4 d. I$ [ d
这也是常考的部分。主要考查点有:OSI参考模型,TCP/IP参考模型。以下是我遇到过的具体面试问题:
" |5 h& }9 l7 R8 n$ V5 I- ]1)请解释一下OSI参考模型。(中国信保)! {& E( r- I! B
2)请解释一下TCP/IP参考模型。(中国信保). d) h% P3 l- i6 b) `- X i
3)为什么现在的网络最后采用了TCP/IP参考模型而没用OSI参考模型?(中国信保)
+ e8 B' o8 n. x3 j 总结:这部分面试主要考查的还是你的专业基础知识和技术积累程度。所以一定要回过头,把书上的重点章节再看一遍。对于一些常见的面试问题,要多注意积累,这样
$ V, \. X. }1 Q( ~: C7 Y" x& \6 s才能在面试的时候充满自信,临阵不慌。 H: c' I. N# M1 K8 d
建议:首先把重点的专业课知识重新复习一遍,做到熟记于心,灵活运用。然后,买一本<程序员面试宝典>好好看看,一定要把里面的重点章节全看完,全背下来。在
& M$ t5 A* o9 a; n/ @ W1 Z这里,强烈向大家推荐那本<程序员面试宝典>,一定要人手一本,认真看完,找工作时你会发现,大部分面试题都是那里面的。最后,多向周围的人取取经,把你在面试中6 d7 _# f1 m/ U$ F; u+ q
遇到的问题和别人在面试中遇到的问题记下来,不会的及时问,把它弄懂。这样,在不断的总结、改进过程中,自己的技术水平、面试经验才能不断提高。
6 y: E7 M/ m) ~ 最后,祝愿大家都能顺利通过面试,拿到满意的offer!! g/ `% e$ O D9 [2 K
(注:面试部分到这里就全部写完了,如果还有同学有其它方面问题,请直接和我联系,衷心希望每一个同学都能顺利通过面试,拿到理想的offer!) |