(二)专业问题
, T7 {3 S1 R. ~. F 这部分问的就是,跟你的项目无关的专业知识,主要考察的是你对具体专业知识的掌握情况,以及编程能力。面试的形式有:问答,现场编程,上机编程。一般问答的形
: ?! S% n7 L& e! G式居多,像微软、google、moto这种非常牛的公司,才会现场考你编程,纯考算法的公司也就那么几家。大部分情况都是问你一些基本的技术细节,考察你对专业基础知识的
S/ o3 \" S( G& t掌握情况。注意:IT企业往往问的都比较细,非IT领域的计算机职位往往问的比较泛泛。. o, r6 v7 B+ A
这部分的关键还是在于技术积累,因为很多技术问题你不知道就是不知道。所以多积累面试常见问题和知识点还是非常重要的。
; I( i9 E2 r* E 下面按照不同的技术领域分类总结各部分常见的面试问题,括号中会标注该问题的来源。6 [' o% l7 u% P% n4 Z! I: w4 J5 _
1、java
. W! A ]" f' V+ f 因为我投的职位主要是java相关的,所以这方面积累的经验比较多一下。这部分考查的重点主要有:java基本语法,多线程,异常处理,抽象类,匿名类,接口,MVC架构& l6 z# r4 [" ?: N8 {
,设计模式,Servlet,Struts,Spring,J2EE。以下是我遇见过的面试问题:, ~. C( B' w0 {' t
1)transient和volatile是java关键字吗?(瞬联); A3 y( w2 u, b9 F9 p
2)抽象类和接口有什么区别?(瞬联)
# h. s0 @4 S1 |& N5 m3)能说一下java的反射机制吗?(瞬联)
. G4 D" n+ _$ {, Y% ~9 j9 {$ N4)在java中怎样实现多线程?(瞬联)
$ n. [0 { u1 m9 S" j* R5)你用过哪种设计模式?(瞬联,IBM,aspenTech)
. X- a; w, _# r" E8 g- s! a6)请说一下MVC架构(瞬联,IBM,aspenTech)- W% g( E: f c1 o" J% @5 F! z
7)如果类a继承类b,实现接口c,而类b和接口c中定义了同名变量,请问会出现什么问题?(瞬联)" w, Z& S* I N
8)请说一下java中为什么要引入内部类?还有匿名内部类?(瞬联,IBM)2 F- ]" D* \5 A, N
9)请说一下final,finally和finalize的区别?(瞬联)$ \# D% c5 D; j4 s9 a
10)请说一下HTTP请示的基本过程(IBM)6 D1 V0 f5 V$ ?# z4 u
11)java中存在内存泄漏问题吗?请举例说明?(IBM), N) N& f4 a. F& Z
12)请说一下java中的内存回收机制所采用的算法(IBM,瞬联)
' p4 z, f+ O" n" ?6 d7 L0 W13)请说一下System.gc()函数的作用。什么什么时候可以调用垃圾回收器?(瞬联)8 D( F) A2 u+ ~5 I
14)你做过的项目中采用了什么安全认证机制?(IBM). ^6 V. G! r/ |! v
15)Math.round()什么作用?7 D" j$ y. Z$ v# {
2、C
9 N8 _. m: n. ?% f6 X8 _" C C语言考查的重点一般是:指针、结构体、条件编译、全局变量/局部变量。以下是我遇见过的面试问题:' W' Z6 \1 B! i
1)请说一下extern C的作用(汉略)
/ Y* O! B* f# n( |2)请说一下#ifdef...的作用(汉略)9 k0 \, w" R# G5 p1 m* Q
3)C语言里,哪些变量是存放在堆里,哪些是存放在栈里?(普天)
2 J% `. }; H" y! @& J4)C语言里的static关键词是什么含义?(普天), Z; \7 y/ i8 J% L7 l9 x- |
5)进程和线程有什么区别?(普天)
; y5 Y R( A7 I, R3、C++
+ g# H6 }0 W- |: q4 ]& | C++语言考查的重点主要有:多继承,抽象类,虚函数,拷贝构造函数,析构函数,动态联编,多态,const,static。以下是我面试中遇到的问题:
1 I$ \4 O/ k2 [2 O2 L! o5 G$ d1)你听说过拷贝构造函数吗?能具体说一下它的作用吗?(汉略)+ z6 Z& x6 c. z/ u. L. Z( p
2)析构函数必须是虚函数吗?为什么?(汉略)
, U4 n' V; D2 l8 C3)你听说过钻石结构吗?请具体说一下(aspenTech)
- L4 e+ m0 K' T3 K/ O, I/ G3 k X6 A3 g4)什么是深拷贝?什么是浅拷贝?他们有什么区别?(aspenTech)/ L6 V# l. I6 Q; g, K' _' x
5)什么是虚函数,什么是纯虚函数?为什么引入虚函数和纯虚函数?(汉略,aspenTe
6 L# R- P, p |2 c6 y* @; q2 _1 Qch,普天)
) h/ u2 K7 \2 d, S+ n {6 n' i6)请说一下面向对象的基本特性。(aspenTech)8 E, R! I* z& q3 l, U/ ^: D
7)C++中的const关键定代表什么含义?跟C语言中的const有什么区别?(aspenTech); ~& e$ j# ~) w9 }7 r- S8 z! R
8)C++中的static关键定代表什么含义?跟C语言、Java中的static有什么区别?(普天" H( [2 l6 E" b, r
)
% P4 Y, e- q& C1 q" E4、数据结构3 ^( ]3 [, A! n% e7 O
这是面试中几乎必考的部分。考查的重点有:链表,二叉树前序、中序、后序遍历(递归,非递归),二叉树结点、层次的计算,树转二叉树,各种排序算法(冒泡排序# A" G4 b9 x; {/ A' ?, V' D
,快速排序,堆排序是重点)。以下是我在面试中遇到过的问题:
/ J6 c4 F2 D9 d1)请编写程序,将一个链表倒置。(联发)
9 B2 M( C+ Q' @2)请编写二叉树的中序遍历非递归算法。(新华社)0 w: C8 I+ x$ k# |2 n4 c4 w
3)请编写一个程序,实现将树转化成二叉树。(华为)
6 M* m: c9 F( R3 Z4)一棵满二叉树有x个结点,请问整棵二叉树有多少结点?(新华社,中国信保)# U( F: ?0 Z" K9 i
5)请编程实现一个堆排序算法/快速排序算法。(汉略)
6 u! }; b7 L. v7 t5、数据库8 y3 r. t0 T7 `, Y9 a
这也是面试重点内容。主要考查点有:范式,1、2、3范式,事务,内连接,外连接,关系代数,数据库设计。以下是我遇到过的面试问题:
I: |2 ]/ \ {0 E$ h3 }1 Q; k1)什么是范式、1范式、2范式、3范式?(百度,中航信,新华社,中国信保)6 }9 ^6 h( ^9 i% O, e. P' F. g
2)事务具有哪些特性?(中航信)
, a9 y: M& Z; P9 O/ w# E' Z3)请说说什么是外连接、左外连接、右外连接?(aspenTech)
, J! U9 N) ` z# a) r4)请说说关系代表中的几种基本运算?(中航信)
3 P7 C& f' M; I2 ~6 H$ b5)请对一个论坛进行数据库设计,并说说你设计的数据库满足哪个范式(百度)
0 N- I8 W9 C! ` n- k/ L0 Q V$ ^6)给你一个数据库需求,请对数据库进行设计,并根据要求写出查询语句(中国信保)
( Y1 k9 B; L$ }, M6、网络* U2 V+ X: I0 k& C+ Z$ ^2 ^
这也是常考的部分。主要考查点有:OSI参考模型,TCP/IP参考模型。以下是我遇到过的具体面试问题:
+ A3 d# f/ G' v9 \6 H. R1)请解释一下OSI参考模型。(中国信保)
( W; L2 ~: Q$ O' u( `* Z0 b1 D2)请解释一下TCP/IP参考模型。(中国信保)2 N2 w4 q8 }. \# j2 b0 F
3)为什么现在的网络最后采用了TCP/IP参考模型而没用OSI参考模型?(中国信保)
; F1 b6 i$ g% } f/ q 总结:这部分面试主要考查的还是你的专业基础知识和技术积累程度。所以一定要回过头,把书上的重点章节再看一遍。对于一些常见的面试问题,要多注意积累,这样- o/ f ~% k. |. B
才能在面试的时候充满自信,临阵不慌。
, g: K- O$ `3 d& A 建议:首先把重点的专业课知识重新复习一遍,做到熟记于心,灵活运用。然后,买一本<程序员面试宝典>好好看看,一定要把里面的重点章节全看完,全背下来。在, h) X; i; f: `7 P" V! e' H
这里,强烈向大家推荐那本<程序员面试宝典>,一定要人手一本,认真看完,找工作时你会发现,大部分面试题都是那里面的。最后,多向周围的人取取经,把你在面试中% ~- w+ s( J: c
遇到的问题和别人在面试中遇到的问题记下来,不会的及时问,把它弄懂。这样,在不断的总结、改进过程中,自己的技术水平、面试经验才能不断提高。/ S) r/ F- `1 o( S- ?& u, o- ?
最后,祝愿大家都能顺利通过面试,拿到满意的offer!
0 ^6 }# y: T6 B$ } {) L* _(注:面试部分到这里就全部写完了,如果还有同学有其它方面问题,请直接和我联系,衷心希望每一个同学都能顺利通过面试,拿到理想的offer!) |