java程序员面试宝典,java程序员面试中的疑问?
java程序员面试宝典,java程序员面试中的疑问?详细介绍
本文目录一览: java程序员面试
面试的时候只是和你讨论一下你做的项目,如果你是刚刚毕业的话,去网上查一下JAVA面试题集全都背出来就行了,一般公司会给你出笔试题目的,不会很难的,建议你去买本JAVA程序员面试题录,不过有的时候会有他们自己想的题目,到时候见招拆招就可以了
面试前找本经典的基础知识书看看很有帮助,1来可以免去面试中不会基础知识的尴尬,2是你深入了解一些基础知识后,对一些比较深的知识有豁然开朗的效果
3 熟悉下项目,别面世说做过多少多少项目,一问,用到的只是你了解多少 说不大清楚
面试最主要的是项目经验,公司最看重这个,基础知识倒是其次,建议你多找点j2ee的项目看看,实践经验最重要!面试的时候你可以多说说自己做过哪些项目,有哪些经验,如果条件允许,你可以说自己有1年左右的实习或工作经验,这是非常现实的,原来我们出来找工作也是这样的!
面试问的一般很基础,更多的趋向于,项目中常用的问题!
书不是一向都管用,最好是动手做,积累项目经验!
java面试宝典
网上很多的 这里有点java题目和答案
第一,谈谈final, finally, finalize的区别。 final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载 finally—再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。 finalize—方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。
第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。
第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。 Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。具体可见http: //www.frontfree.net/articles/services/view.asp?id=704&page=1 注: 静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象
第四,&和&&的区别。 &是位运算符。&&是布尔逻辑运算符。
第五,HashMap和Hashtable的区别。 都属于Map接口的类,实现了将惟一键映射到特定的值上。 HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。 Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,因为它是同步的。
第六,Collection 和 Collections的区别。 Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。 Collection是个java.util下的接口,它是各种集合结构的父接口。
第七,什么时候用assert。 断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为 true。如果表达式计算为 false,那么系统会报告一个 AssertionError。它用于调试目的: assert(a > 0); // throws an AssertionError if a <= 0 断言可以有两种形式: assert Expression1 ; assert Expression1 : Expression2 ; Expression1 应该总是产生一个布尔值。 Expression2 可以是得出一个值的任意表达式。这个值用于生成显示更多调试信息的 String 消息。 断言在默认情况下是禁用的。要在编译时启用断言,需要使用 source 1.4 标记: javac -source 1.4 Test.java 要在运行时启用断言,可使用 -enableassertions 或者 -ea 标记。 要在运行时选择禁用断言,可使用 -da 或者 -disableassertions 标记。 要系统类中启用断言,可使用 -esa 或者 -dsa 标记。还可以在包的基础上启用或者禁用断言。 可以在预计正常情况下不会到达的任何位置上放置断言。断言可以用于验证传递给私有方法的参数。不过,断言不应该用于验证传递给公有方法的参数,因为不管是否启用了断言,公有方法都必须检查其参数。不过,既可以在公有方法中,也可以在非公有方法中利用断言测试后置条件。另外,断言不应该以任何方式改变程序的状态。
第八,GC是什么? 为什么要有GC? (基础)。 GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: System.gc() Runtime.getRuntime().gc()
第九,String s = new String("xyz");创建了几个String Object? 两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。
第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少? Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;
第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? short s1 = 1; s1 = s1 + 1;有错,s1是short型,s1+1是int型,不能显式转化为short型。可修改为s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正确。
第十二,sleep() 和 wait() 有什么区别? 搞线程的最爱 sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级 (b)正在运行的线程因为其它原因而阻塞。 wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。
第十三,Java有没有goto? Goto—java中的保留字,现在没有在java中使用。 第十四,数组有没有length()这个方法? String有没有length()这个方法? 数组没有length()这个方法,有length的属性。 String有有length()这个方法。 第十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? 方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。
第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。 equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。
第十七,给我一个你最常见到的runtime exception。 ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException
第十八,error和exception有什么区别? error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。 exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。
第十九,List, Set, Map是否继承自Collection接口? List,Set是 Map不是
第二十,abstract class和interface有什么区别? 声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。 接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。
第二十一,abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized? 都不能
第二十二,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)? 接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。
第二十三,启动一个线程是用run()还是start()? 启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。
第二十四,构造器Constructor是否可被override? 构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。
第二十五,是否可以继承String类? String类是final类故不可以继承。
第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 不能,一个对象的一个synchronized方法只能由一个线程访问。
第二十七,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 会执行,在return前执行。
第二十八,编程题: 用最有效率的方法算出2乘以8等於几? 有C背景的程序员特别喜欢问这种问题。 2 << 3
第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 不对,有相同的hash code。
第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 是值传递。Java 编程语言只由值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。
第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。
第三十二,编程题: 写一个Singleton出来。 Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 一般Singleton模式通常有几种种形式: 第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。 public class Singleton { private Singleton(){} //在自己内部定义自己一个实例,是不是很奇怪? //注意这是private 只供内部调用 private static Singleton instance = new Singleton(); //这里提供了一个供外部访问本class的静态方法,可以直接访问 public static Singleton getInstance() { return instance; } } 第二种形式: public class Singleton { private static Singleton instance = null; public static synchronized Singleton getInstance() { //这个方法比上面有所改进,不用每次都进行生成对象,只是第一次 //使用时生成实例,提高了效率! if (instance==null) instance=new Singleton(); return instance; } } 其他形式: 定义一个类,它的构造函数为private的,所有方法为static的。 一般认为第一种形式要更加安全些 第三十三 Hashtable和HashMap Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现 HashMap允许将null作为一个entry的key或者value,而Hashtable不允许 还有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。 最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在 多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。 H ashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。
100%面试率,程序员简历你优化了吗
做一份工作,实际就是追寻梦想的过程,而为了完成梦想,必须有一个长期规划,从而指导我们选择工作。它是择业过程中最本质和最原始的参考借鉴。 下载链接
为此,小云为你精选一份程序员面试书单,分为职业规划、编程技能两部分,适合刚毕业的大学生、正准备换工作的程序员们,涵盖算法工程师、Java工程师、测试等多个领域。
软技能 代码之外的生存指南 约翰 Z.森梅兹 著
这是一本真正从“人”(而非技术也非管理)的角度关注软件开发人员自身发展的书。书中论述的内容既涉及生活习惯,又包括思维方式,凸显技术中“人”的因素,全面讲解软件行业从业人员所需知道的所有“软技能”。
本书聚焦于软件开发人员生活的方方面面,从揭秘面试的流程到精耕细作出一份杀手级简历,从创建大受欢迎的博客到打造你,从提高自己工作效率到与如何与“拖延症”做斗争,甚至包括如何投资不动产,如何关注自己的健康。
编程珠玑(第2版)乔恩·本特利(Jon Bentley) 著
作者虽然没有给出解决这些问题的具体代码,但始终非常富有洞察力和创造力地围绕着这些折磨程序员的实际问题展开讨论,从而引导读者理解问题并学会解决问题的技能,这些都是程序员实际编程生涯中的基本技能。
为此,本书给出了一些精心设计的有趣而且颇具指导意义的程序,这些程序能够为那些复杂的编程问题提供清晰而且完备的解决思路,书中还充满了对实用程序设计技巧及基本设计原则的清晰而睿智的描述。
PS:本书在第一版的基础上增加了3个方面的新内容:测试、调试和计量,集合表示,字符串问题,并对第一版的所有程序都进行了改写,生成了等量的新代码。
重构 改善既有代码的设计马丁·福勒(Martin Fowler) 著
软件开发的不朽经典,生动阐述重构原理和具体做法,普通程序员进阶到编程高手必须修炼的秘笈。
重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。多年前,正是《重构:改善既有代码的设计》原版的出版,使重构终于从编程高手们的小圈子走出,成为众多普通程序员日常开发工作中不可或缺的一部分。《重构:改善既有代码的设计》也因此成为与《设计模式》齐名的经典著作,被译为中、德、俄、日等众多语言,在世界范围内畅销不衰。
《重构:改善既有代码的设计》凝聚了软件开发社区专家多年摸索而获得的宝贵经验,拥有不因时光流逝而磨灭的价值。今天,无论是重构本身,业界对重构的理解,还是开发工具对重构的支持力度,都与《重构:改善既有代码的设计》最初出版时不可同日而语,但书中所蕴涵的意味和精华,依然值得反复咀嚼,而且往往能够常读常新。
C和C++程序员面试秘籍 董山海 著
众多高级语言都从C/C++有所借鉴,所以说C/C++的语言基础对从事软件开发的人员来说非常重要。
本书是一本解析C/C++面试题的书,可以帮助求职者更好地准备面试。《C和C++程序员面试秘笈》共包含12章,囊括了目前企业中常见的面试题类型和考点,包括C/C++程序基础,预处理、const、static与sizeof,引用和指针,字符串,位运算与嵌入式编程,C++面向对象,C++继承和多态,数据结构,排序,泛型编程,STL,算法和逻辑思维等最常见的面试题。《C和C++程序员面试秘笈》通过技术点解析、代码辅佐的方式让读者能深刻领会每个考点背后的技术。
本书紧扣面试精髓,对各种技术的剖析一针见血,是目前想找工作的C/C++程序员和刚毕业的大学生的面试宝典。
Java程序员面试宝典杨磊 著
本书对程序设计面试中Java常见的题型和常用解答技巧进行了介绍,对现代职业人如何有效求职、面试考官如何关注求职者动态等做了详细解说。本书将为您揭开知名IT企业面试、笔试的核心机密;传授程序员岗位求职的关键技巧。
编程之法:面试和算法心得 July 著
本书涉及面试、算法、机器学习三个主题。书中的每道编程题目都给出了多种思路、多种解法,不断优化、逐层递进。本书第1章至第6章分别阐述字符串、数组、树、查找、动态规划、海量数据处理等相关的编程面试题和算法,第7章介绍机器学习的两个算法—K近邻和SVM。此外,每一章都有“举一反三”和“习题”,以便读者及时运用所学的方法解决相似的问题,且在附录中收录了语言、链表、概率等其他题型。
书中的每一道题都是面试的高频题目,反复出现在最近5年各大公司的笔试和面试中,对面试备考有着极强的参考价值。全书逻辑清晰、通俗易懂,适合热爱编程、算法、机器学习,以及准备IT笔试和面试,即将求职、找工作的读者阅读。
C#与.NET程序员面试秘笈 靳华 著
《C#与.NET程序员面试宝典》取材于各大IT公司的历年面试题252个(包括研发类笔试及口试题目、情商及智商类题目),详细分析了应聘C#与.NET程序员职位的常见考点。《C#与.NET程序员面试宝典》主要内容包括:面试流程、基础语法和技术框架、数据访问及XML应用、高级特性及应用进阶、测试及质量保证、跨国公司经典面试题等。
软件测试工程师面试指导 蔡为东 著
对于想要得到一份软件测试工程师职位的朋友来说,可能会有一些疑问,如软件测试这个行业究竟怎么样?什么样的人适合做软件测试?面试当中要注意什么?软件测试的基本知识点都有哪些?笔试都会涉及哪些内容?等等。本书将解答以上所有的疑问。
本书共6章内容,主要包括软件测试行业概貌、软件测试从业人员的基本要求、如何找工作、软件测试技术基础、典型的测试工程师笔试题等。本书内容丰富,讲解深入浅出,能让读者朋友在短时间内掌握基本的测试技术,了解求职过程的各个环节,熟悉各种类型的笔试题,领会面试技巧。本书后附有一些实用的附录,例如简历模板、新人工作指南等,尤其是“我在微软做软件测试外包”这一部分内容,寓故事性和知识性于一体,讲述了作者在国际软件巨头——微软公司做软件测试外包的亲身经历,相信对于广大的读者朋友有阅读和参考的价值。
本书适合想要从事软件测试工作的朋友,也可供初级软件测试工程师学习之用,另外也可作为大专院校软件测试培训的教材之一。
Android高薪之路 李宁 著
《Android高薪之路:Android程序员面试宝典》取材于各大IT公司面试真题,所给出的试题尽可能地覆盖了Android应用开发的各个方面,而且大多数试题都有解析部分,读者可以通过这部分更深入地理解试题中所包含的技术内容,希望真正做到由点成线,举一反三。
《Android高薪之路:Android程序员面试宝典》中还将Android中涉及的各个常用技术问题进行筛选、分类。这样读者可以有的放矢,对自己还没有掌握的Android技术进行重点攻破,从而起到事半功倍的效果。除了对每道题目都有详细的解析和回答外,对相关知识点还有扩展说明。
《Android高薪之路:Android程序员面试宝典》对面试中Android常见的题型和常用解答技巧进行了介绍,它不仅能帮助求职者快速复习相关知识点,也对现代职业人如何有效求职做了详细解说。《Android高薪之路:Android程序员面试宝典》对于读者从求职就业到提升计算机专业知识都有显著的帮助。
编程之美 《编程之美小组》
《编程之美—— 微软 技术面试心得》收集了约60道算法和 程序设计题目,这些题目大部分在近年的笔试,面试中出现过,或者是被微软员工热烈讨论过。作者试图从书中各种有趣的问题出发,引导读者发现问题,分析问题,解决问题,寻找更优的解法。
书中绝大部分题目都提供了详细的解说。 每道题目后面还有一至两道扩展问题,供读者进一步钻研。
书中还讲述了面试的各种小故事,告诉读者微软需要什么样的技术人才,重视什么样的能力,如何甄别人才。回答读者关于IT业面试,招聘, 职业发展的疑问。 这本书的很多题目会出现在IT 行业的各种笔试,面试中。但本书更深层的意义在于引导读者思考,和读者共享思考之乐,编程之美。
java程序员,必看的7本书
java必看书籍
1、Java核心技术
如果你想正式、系统地学习Java,并打算将Java应用到实际工程项目中,那么这本《Java核心技术》必不可少。
2、Java语言程序设计
本书通过示例讲解问题求解技巧,提供大量的程序清单,每章配有丰富的复习题和编程练习题,帮助读者掌握编程技术并解决实际开发中遇到的问题。
3、Java编程思想
本书为你剖析Java中各个内容的设计理念。需要有一定编程基础的人才可阅读,即使很多内容还无法理解,但每次读完一定会有所收获。这是一本伴随我们技术成长的好书,买一本放在旁边,摸着就有底气。
4、Effective Java中文版
本书针对如何编写高效、设计优良的程序提出了最实用、最权威的指导方针,通过90条简短、独立的经验法则,探索新的设计模式和语言习惯用法,帮你更加有效地使用Java编程语言及其基本类库,指引你少走弯路。
5、Java并发编程实战
本书是Java并发编程里程碑著作!从并发编程的基本理论入手,逐步介绍了在设计Java并发程序时各种重要的设计原则、设计模式以及思维模式,使得开发人员能够更快地领悟Java并发编程的要领,快速地构建大规模的并发应用程序。
6、深入理解Java虚拟机
这本大厂面试通关宝典第三版大幅更新50%以上内容,从Java技术体系、自动内存管理、虚拟机执行子系统、程序编译与代码优化、高效并发5个维度全面剖析虚拟机。以实战为导向,通过大量实际案例,分享解决各种Java技术难题的方案和技巧。
7、Java虚拟机规范
Oracle官方发布,Java虚拟机技术创建人撰写周志明等专家翻译,Amazon畅销书。完整且准确地阐述Java虚拟机规范,是深度了解Java虚拟机和Java语言实现细节的经典佳作。
求些JAVA程序员的面试题......
邮件已经发送,请采纳
汗。
面试题,主要都是java基础,不会有太难的东西...
邮件已发送,收到请采纳。
额。。。。我还是告诉你一个网站吧。。百度,想飞社区,在首页就有面试宝典这个分类,你点进去看。。都是面试有关的。。有JAVA面试题
一、java基础:io、线程、集合、与string相关的、说出几种自己熟悉的设计模式
二、web基础: jsp servlet
三、框架:三个框架的原理、优缺点、对比(hibernate与jdbc,struts2与struts1的对比...)、对mvc的理解
四、数据库:查询(子查询、连接查询)
五、项目(弄一个自己熟悉的项目,把一到两个模块背熟点,包括数据库里的表是怎么建的,怎么配置关系、约束)
怎么样才能不怕面试呢?
本篇是面试部分中最核心的一篇:技术面试篇。适用于计算机相关职位。
对于这部分面试来说,没有太多的技巧可言,主要还是看个人的技术水平,积累程度和项目研究相关性,相信对于那些技术很牛的同学,通过这部分面试应该没问题。所以本篇的主要内容,是向那些技术储备不够的同学提供一些具体的面试题,希望将要参加技术面试的同学能够对症下药,提前作好准备。
一般来说,技术面试中的问题主要分为两大类:通用问题和专业问题。下面分别来说。
(一)通用问题
通用问题指的是,对于你简历中的个人经历、研究项目、编程实践进行发问,主要是围绕你的简历内容进行提问。这是绝大部分技术面试必然有的内容。在这部分面试中,提醒大家注意以下几点:
1、自己没有做过的项目,没有编过的程序,千万不要往简历上写,因为在面试环节肯定会被问出来,那样不管他其它环节多优秀,都将马上被淘汰,因为任何企业都不能容忍不诚实的人。
2、对于自己简历上的内容,一定要熟记于心,自己做过的东西,更要非常熟悉才行,建议每次面试之前把自己做过项目的细节再好好看一遍。在面试环节,面试官往往会针对你做过的具体项目,问非常细致的问题。所以,一定要确保,写到简历上的内容都是自己非常熟悉的,不怕细问。
3、介绍自己做过的项目时,最好挑应聘职位相关的项目,因为对于技术主管来说,他关心的是你做过的项目跟他们有没有相关性,以及你的专业特长跟具体职位的要求是否吻合。
下面把这部分面试中常见的问题作以归纳总结,便于大家提前准备:
1、你都做过哪些项目?简单介绍一下。
2、挑一个你做过比较拿手的项目介绍一下。
3、你这个项目用什么技术开发的?数据库用的什么?你在里面做的哪部分?
4、你在项目中遇到什么问题?怎么解决的?
5、你在项目中采用了什么算法?什么技术?
6、这个项目是几个人开发?做了多长时间?你担任什么职责?
7、这个项目用了什么第三方软件/插件?用的什么版本控制工具?采用了什么样的软件开
发流程?
8、这个项目是怎样进行进度控制和风险控制的?
9、这个项目都做了哪些测试?
10、说说你对xx技术/领域的看法。
相信只要项目你确实做过,程序确实编过,这部分应该都问题不大。
(二)专业问题
这部分问的就是,跟你的项目无关的专业知识,主要考察的是你对具体专业知识的掌握情况,以及编程能力。面试的形式有:问答,现场编程,上机编程。一般问答的形式居多,像微软、google、moto这种非常牛的公司,才会现场考你编程,纯考算法的公司也就那么几家。大部分情况都是问你一些基本的技术细节,考察你对专业基础知识的掌握情况。注意:IT企业往往问的都比较细,非IT领域的计算机职位往往问的比较泛泛。 这部分的关键还是在于技术积累,因为很多技术问题你不知道就是不知道。所以多积累面试常见问题和知识点还是非常重要的。
下面按照不同的技术领域分类总结各部分常见的面试问题,括号中会标注该问题的来源。
1、java
因为我投的职位主要是java相关的,所以这方面积累的经验比较多一下。这部分考查的重点主要有:java基本语法,多线程,异常处理,抽象类,匿名类,接口,MVC架构,设计模式,Servlet,Struts,Spring,J2EE。以下是我遇见过的面试问题:
1)transient和volatile是java关键字吗?(瞬联)
2)抽象类和接口有什么区别?(瞬联)
3)能说一下java的反射机制吗?(瞬联)
4)在java中怎样实现多线程?(瞬联)
5)你用过哪种设计模式?(瞬联,IBM,aspenTech)
6)请说一下MVC架构(瞬联,IBM,aspenTech)
7)如果类a继承类b,实现接口c,而类b和接口c中定义了同名变量,请问会出现什么问题?(瞬联)
8)请说一下java中为什么要引入内部类?还有匿名内部类?(瞬联,IBM)
9)请说一下final,finally和finalize的区别?(瞬联)
10)请说一下HTTP请示的基本过程(IBM)
11)java中存在内存泄漏问题吗?请举例说明?(IBM)
12)请说一下java中的内存回收机制所采用的算法(IBM,瞬联)
13)请说一下System.gc()函数的作用。什么什么时候可以调用垃圾回收器?(瞬联)
14)你做过的项目中采用了什么安全认证机制?(IBM)
15)Math.round()什么作用?
2、C
C语言考查的重点一般是:指针、结构体、条件编译、全局变量/局部变量。以下是我遇见过的面试问题:
1)请说一下extern C的作用(汉略)
2)请说一下#ifdef...的作用(汉略)
3)C语言里,哪些变量是存放在堆里,哪些是存放在栈里?(普天)
4)C语言里的static关键词是什么含义?(普天)
5)进程和线程有什么区别?(普天)
3、C++
C++语言考查的重点主要有:多继承,抽象类,虚函数,拷贝构造函数,析构函数,动态联编,多态,const,static。以下是我面试中遇到的问题:
1)你听说过拷贝构造函数吗?能具体说一下它的作用吗?(汉略)
2)析构函数必须是虚函数吗?为什么?(汉略)
3)你听说过钻石结构吗?请具体说一下(aspenTech)
4)什么是深拷贝?什么是浅拷贝?他们有什么区别?(aspenTech)
5)什么是虚函数,什么是纯虚函数?为什么引入虚函数和纯虚函数?(汉略,aspenTech,普天)
6)请说一下面向对象的基本特性。(aspenTech)
7)C++中的const关键定代表什么含义?跟C语言中的const有什么区别?(aspenTech)
8)C++中的static关键定代表什么含义?跟C语言、Java中的static有什么区别?(普天)
4、数据结构
这是面试中几乎必考的部分。考查的重点有:链表,二叉树前序、中序、后序遍历(递归,非递归),二叉树结点、层次的计算,树转二叉树,各种排序算法(冒泡排序,快速排序,堆排序是重点)。以下是我在面试中遇到过的问题:
1)请编写程序,将一个链表倒置。(联发)
2)请编写二叉树的中序遍历非递归算法。(新华社)
3)请编写一个程序,实现将树转化成二叉树。(华为)
4)一棵满二叉树有x个结点,请问整棵二叉树有多少结点?(新华社,中国信保)
5)请编程实现一个堆排序算法/快速排序算法。(汉略)
5、数据库
这也是面试重点内容。主要考查点有:范式,1、2、3范式,事务,内连接,外连接,关系代数,数据库设计。以下是我遇到过的面试问题:
1)什么是范式、1范式、2范式、3范式?(百度,中航信,新华社,中国信保)
2)事务具有哪些特性?(中航信)
3)请说说什么是外连接、左外连接、右外连接?(aspenTech)
4)请说说关系代表中的几种基本运算?(中航信)
5)请对一个论坛进行数据库设计,并说说你设计的数据库满足哪个范式(百度)
6)给你一个数据库需求,请对数据库进行设计,并根据要求写出查询语句(中国信保)
6、网络
这也是常考的部分。主要考查点有:OSI参考模型,TCP/IP参考模型。以下是我遇到过的具体面试问题:
1)请解释一下OSI参考模型。(中国信保)
2)请解释一下TCP/IP参考模型。(中国信保)
3)为什么现在的网络最后采用了TCP/IP参考模型而没用OSI参考模型?(中国信保)
总结:这部分面试主要考查的还是你的专业基础知识和技术积累程度。所以一定要回过头,把书上的重点章节再看一遍。对于一些常见的面试问题,要多注意积累,这样才能在面试的时候充满自信,临阵不慌。
建议:首先把重点的专业课知识重新复习一遍,做到熟记于心,灵活运用。然后,买一本<程序员面试宝典>好好看看,一定要把里面的重点章节全看完,全背下来。在这里,强烈向大家推荐那本<程序员面试宝典>,一定要人手一本,认真看完,找工作时你会发现,大部分面试题都是那里面的。最后,多向周围的人取取经,把你在面试中遇到的问题和别人在面试中遇到的问题记下来,不会的及时问,把它弄懂。这样,在不断的总结、改进过程中,自己的技术水平、面试经验才能不断提高。
最后,祝愿大家都能顺利通过面试,拿到满意的offer!
全国计算机等级考试JAVA2级考什么内容,除了考Java还考什么啊?数据结构吗? 数据库?还有什么啊?说全一点
Java C语言 VB VFP ACCESS
二级java 今年我刚考过,考的除了java外就是公共基础知识了,而且考的很浅,建议你去买本二级公共基础知识那本书,看一下稍微背背就可以了,公共基础知识的考试全在那上面,挺简单的。
经过几次笔试和面试下来:大概考题就那么几种:数据结构里面的知识比较多、C++中的指针等问题、Java一些相关的知识最多读程序没有写程序、智力题、操作系统和网络数据库等。总之我觉得复习算法还是最重要的。其他应该了解了解。
C++方向的推荐《程序员面试宝典》
Java方向的推荐《Java上班那点事》
两本不错的书 看一下对找工作有很大的帮助。
不过你现在才考虑这些问题有点晚哦 招聘现在正在火热中,估计过不了多久就要冷下来了 老兄加油哦 呵呵
去公司面试JAVA程序员,问关于项目经验的问题?
他会从简历抽几个问题问 另外你自己也要补充一点 既然你有项目经验 他会问是做怎么项目,都有那些表, 你在项目中的角色是 ,项目用到java怎么技术, 项目中表与表之间的关系,都用到那些框架 要不要做面试题看公司 有时还会问自我介绍,你爱好,缺点,优点 , 你就如实回答 无非就是这些问题
要注意的是:
1 不要紧张
2 把你做的项目也带过去 他有问有带项目来吗你就拿出来 没有问看情况
3 穿整齐一点 留个好印象
4 注意简历 而且简历内容几乎你自己都会
5 走的时候握个手
6 问到不会答的问题 直接说不会
分数不要紧,找工有时也蛮不容易,今年我深有体会。
我今天去了40多家公司面试,不同公司要求是不同的,或者面试官不同。
12月份去中友的时候,面的不是三大框架,也不是数据库,而是一些http协议,例如一些底层的。问什么也得看你面试的职位,初级的话一般都有笔试。
中级java程式员,可能更偏向于面谈。
有项目经验也会有试题,一些基础的还是了解比较好,有时间下些java面试宝典之类的看看也好。 推荐《张孝祥java面试大全》,是word格式的,你百度搜索下,很多公司考基础时问来问去都是那几个问题,其中7成基础题在那里。
准备下你的项目亮点,理清下思路,假如是团队开发,只需说你在其中的关键或者一些体会,可以大胆又不离实际地去谈谈。在中兴通讯时被问到最有成就感的项目是什么,我一时竟语塞。
工作春节一过,十五前后早找好点。祝找到满意工作!
一点愚见,我17年动力节点毕业,当时一周面试了七八家公司,第一次面试的时候不是很好,老师跟了很多帮助和指导,帮我“演习”了好多次。
也教了我很多道理,老师一直到我转正结束之前都在帮助我,真的非常感谢。而下面要说的就是我自己总结的一些面试过程需要注意的:
笔试: 去面试之前肯定要先搜集一下相关岗位面试题,如果公司大,公司的面试题也有可能找到,具体笔试题,会在其他博客总结。
面试:本质上是向技术主管推销自己的过程,
原则:
诚实 能当上主管的人一般都会识破小伎俩,所以诚实是第一位的,不会,就说没了解过,没做过就是没做过。
会讲故事 问到概念和问题时,先说概念性的东西,然后讲出自己的学习工作经验,当时是怎么遇到问题,又是怎样解决的。
态度 阳光,好学,不要抱怨以前公司,遇到自己了解但不熟悉的问题,可以和主管讨论,表示自己愿意研究,所有人都会被问道自己小部分不会的,不知道是正常,无关大局。
问题:
一、 遇到大量不会的,这个岗位不适合,自己回去多学习。二、 问什么离职 上一家公司很好,不过自己想学习新的技术,接触新的业务提升自己,三、 问有什么问题 问有关工作培训,工作所用技术的问题,不要问薪资和公司发展方向
如何写项目经验:
原则:STAR(Situation Task Action Result)
项目描述(Situation ):项目用途,背景,50字以内。
个人职责(Task ):领导需要你做什么。
个人工作(Action ):你做了什么。
成果(Result): 最后有哪些成果,说出量化数据,性能提升百分比,修复bug数量,工期加快速度百分比等。
根据公司不同会选择笔试不笔试的。
至于提问其实对于有经验的来说问的问题一般都会围绕在你做的项目之中的。比如他们比较关心项目的细节,比如流程、预算、你的角色、你的工作内容等等,会提一些人的名字,如果是圈子里面的话。
回答过程中我建议你不要含糊不清地回答,做过就是做过,没做过就没做过,要简单,但是不要谈太多机密的东西~~
祝你好运
一般都会问你参与了什么项目,在项目中充当社么角色,使用什么框架技术,项目中的难点和突破等等,如果面试官比较积极而且你也确实参与了项目的话那顺着说就是了,如果面试官等你说那最好准备一些技术上的亮点和自己对项目的思考,不仅是技术上可能也包括团队上
应聘JAVA工程师,面试官常问一些什么问题?
JAVA基础,数据库,会什么框架,框架的内容和作用!像你没经验的话,做个面试题(网上有),然后等通知。
什么是面向对象,重载(overloading)是什么,继承(inheritance)是什么等等。
一般这类基础又重要的知识点是经常被问到的,回答的时候不需要背书般的回答,面试官最希望听到的是你结合实例来概括这类知识。
面试啊,一般不会问太具体的问题,语法会在笔试里考,然后一般面试分技术面试和综合面试。一般情况是,你过了笔试,然后去技术面试,然后综合面试。技术面试官一般是拿着你的简历和笔试试卷,一开始会问你那些写错的地方。然后问你有什么项目经验,如果有,会追问项目的种种,比如你开发了一个图书馆信息管理系统,会问你用了什么框架,比如你说用了struts,然后他会问你struts的基本原理,你大致讲一下对struts框架对servlet的封装和配置文件,然后他会问一些你数据库的东西,主要是你数据是如何设计的~。大致是这个流程。然后综合面试就是问你在学校干了什么 班干部什么 学校活动 学生会 还有 项目都可以随便说说,聊聊。
有些技术面试官会问你一些智力题(通常这样的面试官都不是项目经理,是稍微懂点技术的人力资源,比较2的反正)
技术题目可以在网上搜索,另外就是看程序员面试宝典这本书。
技术面试官还会问你对其他技术,(你会的东西都应该写在简历上),比如你简历上说你会Hibernate,那他也会问你Hibernate的相关东西。OOP思想什么的,设计模式也会涉及的
java程序员面试中的疑问?
开发流程吧。以及各个组件间的联系。
给个邮箱
你好,这样吧,我有一份Java的面试宝典。可以把题给你发一下。你必须好好看几遍。在说说你的问题吧。
1. servlet一般就是问下生命周期,其余的说实话都是体现在你的项目中了。
2. jsp的一些内置对象。
3. 三大框架的原理,以及优缺点。
web的知识主要体现在了你做个的项目上,一般结合着项目问。
JAVA程序员在面试的时候基本上会问些什么问题呢?
我编写了一套Java面试宝典完全免费、帮助更多程序员面试拿到高薪
你去下个java面试宝典,很全。但是面试的人有时候不一定问到你会的。除非你运气好问到你会的,万一问到...
呵呵,我面试挺多的了,两种情况
我面别人,别人面我
先说后者,别人面我
第一
个人素质
,一般大学出...