(二)专业问题
( J, {1 J, B( ~% B 这部分问的就是,跟你的项目无关的专业知识,主要考察的是你对具体专业知识的掌握情况,以及编程能力。面试的形式有:问答,现场编程,上机编程。一般问答的形! V8 m; B- U8 M' w
式居多,像微软、google、moto这种非常牛的公司,才会现场考你编程,纯考算法的公司也就那么几家。大部分情况都是问你一些基本的技术细节,考察你对专业基础知识的) G; v3 T0 x9 f8 d! l- s+ c* x6 U
掌握情况。注意:IT企业往往问的都比较细,非IT领域的计算机职位往往问的比较泛泛。
: B( i8 o% `7 W) q, J2 K4 t7 Y 这部分的关键还是在于技术积累,因为很多技术问题你不知道就是不知道。所以多积累面试常见问题和知识点还是非常重要的。; |) ?7 J" }5 w1 {: F1 p! u
下面按照不同的技术领域分类总结各部分常见的面试问题,括号中会标注该问题的来源。; g9 k2 D6 W. b' z: v+ Y: U- E$ o' M
1、java
8 ~& [$ y) D) j9 n4 r 因为我投的职位主要是java相关的,所以这方面积累的经验比较多一下。这部分考查的重点主要有:java基本语法,多线程,异常处理,抽象类,匿名类,接口,MVC架构' ~2 u( t0 b! z) V+ S/ j- ^
,设计模式,Servlet,Struts,Spring,J2EE。以下是我遇见过的面试问题:
& S8 X# o# L5 W$ z: g2 r; T1)transient和volatile是java关键字吗?(瞬联)
6 O$ @# R5 j' G* I5 L$ t2)抽象类和接口有什么区别?(瞬联)* M& `3 Q1 ?' k+ y
3)能说一下java的反射机制吗?(瞬联) a$ E" K/ h$ A) ]. |
4)在java中怎样实现多线程?(瞬联)
& s7 L9 t$ e0 i$ L# B# L5)你用过哪种设计模式?(瞬联,IBM,aspenTech)
# m0 u2 q- {& c2 b2 ^( _( E- x6)请说一下MVC架构(瞬联,IBM,aspenTech)2 `1 |3 s* y9 b9 \0 I- Q& c1 ~
7)如果类a继承类b,实现接口c,而类b和接口c中定义了同名变量,请问会出现什么问题?(瞬联)& P5 O, v1 [; e# m% ]3 A
8)请说一下java中为什么要引入内部类?还有匿名内部类?(瞬联,IBM)
! e# K. ~% M( T9)请说一下final,finally和finalize的区别?(瞬联)9 e& k, h# c4 x
10)请说一下HTTP请示的基本过程(IBM)
$ V2 f, d) J. g0 T; T11)java中存在内存泄漏问题吗?请举例说明?(IBM)5 P) i4 d% _/ e) H
12)请说一下java中的内存回收机制所采用的算法(IBM,瞬联). m, s8 P# o5 R+ P( G9 ]
13)请说一下System.gc()函数的作用。什么什么时候可以调用垃圾回收器?(瞬联)' M4 v3 _7 [( {! N! g8 y
14)你做过的项目中采用了什么安全认证机制?(IBM)
$ o1 W9 \) g: W0 Z, I15)Math.round()什么作用?
% G6 [( [3 W4 K4 [5 W2 ^9 K2、C
% c2 A( ?: Y# T A C语言考查的重点一般是:指针、结构体、条件编译、全局变量/局部变量。以下是我遇见过的面试问题:# Q, j6 |# B, Y9 O8 j) U, `
1)请说一下extern C的作用(汉略); O6 J3 J G8 a/ v
2)请说一下#ifdef...的作用(汉略)! @' _$ {( a9 K& d1 D' r
3)C语言里,哪些变量是存放在堆里,哪些是存放在栈里?(普天)5 B: L. Z; N6 u% {1 t% h
4)C语言里的static关键词是什么含义?(普天)) ^: q; D5 Y" C) R# |) s
5)进程和线程有什么区别?(普天)
2 n& h8 [% a( u. r3、C++
( C- a1 S: q, {# K* C W C++语言考查的重点主要有:多继承,抽象类,虚函数,拷贝构造函数,析构函数,动态联编,多态,const,static。以下是我面试中遇到的问题:
: y O1 f& J5 K# r/ g6 C" }1)你听说过拷贝构造函数吗?能具体说一下它的作用吗?(汉略)) w- `: J6 q5 r; H
2)析构函数必须是虚函数吗?为什么?(汉略)' v7 h) A+ B r* [
3)你听说过钻石结构吗?请具体说一下(aspenTech). P; {1 \# G0 d
4)什么是深拷贝?什么是浅拷贝?他们有什么区别?(aspenTech)4 x- I5 F! m7 Y! }+ t7 H8 k: j, l
5)什么是虚函数,什么是纯虚函数?为什么引入虚函数和纯虚函数?(汉略,aspenTe
/ X; l/ y8 ^; G* H/ r! kch,普天)
% K5 A# g0 T5 \3 \) }6)请说一下面向对象的基本特性。(aspenTech), z8 g# Z0 [* B9 r7 G
7)C++中的const关键定代表什么含义?跟C语言中的const有什么区别?(aspenTech)
! Q' Y$ o6 N, V8 J! W7 K! P" q8)C++中的static关键定代表什么含义?跟C语言、Java中的static有什么区别?(普天0 |' B' e8 c0 a3 f; W! h& b5 f
)0 F* [; @+ I, ^8 ?# U+ p* C" o+ E
4、数据结构: t& m7 y! r% F$ `% n
这是面试中几乎必考的部分。考查的重点有:链表,二叉树前序、中序、后序遍历(递归,非递归),二叉树结点、层次的计算,树转二叉树,各种排序算法(冒泡排序
- C2 x: t. x& a9 t* s,快速排序,堆排序是重点)。以下是我在面试中遇到过的问题:! m5 V# k# b3 Y9 }8 A! I3 \
1)请编写程序,将一个链表倒置。(联发)
* q' M4 O7 k/ h3 y2)请编写二叉树的中序遍历非递归算法。(新华社)
6 Q4 P* Q- N& g0 K1 X( t3)请编写一个程序,实现将树转化成二叉树。(华为)
5 R2 v- o* w4 O% r3 Q4)一棵满二叉树有x个结点,请问整棵二叉树有多少结点?(新华社,中国信保)& R# E; P( s8 n) I$ I0 ~
5)请编程实现一个堆排序算法/快速排序算法。(汉略)8 r3 B9 b' Q4 ~' ]1 b6 _- ^. R+ n
5、数据库7 J7 F6 ^: C: V. g; F
这也是面试重点内容。主要考查点有:范式,1、2、3范式,事务,内连接,外连接,关系代数,数据库设计。以下是我遇到过的面试问题:
& j, F6 b1 N: w9 R; e+ C) |/ T0 w1)什么是范式、1范式、2范式、3范式?(百度,中航信,新华社,中国信保)! A6 N5 V) B& X
2)事务具有哪些特性?(中航信)/ z/ j2 o) _+ ]; ?
3)请说说什么是外连接、左外连接、右外连接?(aspenTech)
; |2 T( g: d5 `' G/ S4 z l: S% u4)请说说关系代表中的几种基本运算?(中航信)
: Q. K# B6 L4 Q" O( \5)请对一个论坛进行数据库设计,并说说你设计的数据库满足哪个范式(百度)
, U- v' @, s; f2 T6 x: ~6)给你一个数据库需求,请对数据库进行设计,并根据要求写出查询语句(中国信保)
4 i2 I" c* d, H, B% W& |6、网络
/ S9 p3 D" T, n 这也是常考的部分。主要考查点有:OSI参考模型,TCP/IP参考模型。以下是我遇到过的具体面试问题:
0 X+ u- T: r/ {/ s1)请解释一下OSI参考模型。(中国信保)
: D' D0 ^+ b7 B. a" o7 E1 X9 T2)请解释一下TCP/IP参考模型。(中国信保), M+ r# i1 z/ j3 m: J9 N
3)为什么现在的网络最后采用了TCP/IP参考模型而没用OSI参考模型?(中国信保)
; d% k2 m0 W5 z1 o* U7 U, W( o2 T 总结:这部分面试主要考查的还是你的专业基础知识和技术积累程度。所以一定要回过头,把书上的重点章节再看一遍。对于一些常见的面试问题,要多注意积累,这样
7 Y. ~$ @; M) h6 T! W1 X5 y. c/ [# D才能在面试的时候充满自信,临阵不慌。
' F( Z2 h/ d# U8 U% U 建议:首先把重点的专业课知识重新复习一遍,做到熟记于心,灵活运用。然后,买一本<程序员面试宝典>好好看看,一定要把里面的重点章节全看完,全背下来。在4 Z7 y* {0 `1 F
这里,强烈向大家推荐那本<程序员面试宝典>,一定要人手一本,认真看完,找工作时你会发现,大部分面试题都是那里面的。最后,多向周围的人取取经,把你在面试中
! t5 u3 P# n8 f7 x3 V+ o4 ]5 n遇到的问题和别人在面试中遇到的问题记下来,不会的及时问,把它弄懂。这样,在不断的总结、改进过程中,自己的技术水平、面试经验才能不断提高。
" y# W U7 r2 b* D; d 最后,祝愿大家都能顺利通过面试,拿到满意的offer!* k& w6 B+ } e' p" {; ^+ x
(注:面试部分到这里就全部写完了,如果还有同学有其它方面问题,请直接和我联系,衷心希望每一个同学都能顺利通过面试,拿到理想的offer!) |