`
dingjun1
  • 浏览: 214331 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

面试问题收集中

阅读更多
转:http://nodonkey.iteye.com/blog/387079 
记录的目的不是为了面试,为了在平时从这些方面思考问题进步。

自己实现下string的compare函数?
单例的类是否可以继承?
数组创建后是否可以改变大小?
让你假装给一帮刚入学的大学生讲讲数据结构?
谈一谈java的多线程?
以前用过那些设计模式?

淘宝面试问题:
1. 介绍一下自己的项目经验和主要技术特长。
   2. 如何使你的java程序跑的更快,所用内存最少?
   3. 怎样使sql执行更快?
   4. index的本质是什么?
   5. 对query plan了解多少?
   6. J2EE的框架的理解和实际应用。


1,int []a=new int[4]{1,2,3,4};
2,a=5; System.out.print("value:" + (a<5)?9.9:9);
3,128>>>1 =64
4,method();
public static void method(StringBuffer b,String c){
        ss();

}
public static void ss(){
try{
mm();

System.out.print("a");
}catch(RuntimeException e){
System.out.print("b");
throw e;
}finally{
System.out.print("c");
}
System.out.print("d");
}
public static void mm(){
throw new RuntimeException();
}




1.B/S方面,
  简要介绍企业内部系统的设计需要注意哪些问题.
   然后就提到的性能,安全,可扩展性,可用性等非功能性特性中的一点或几点深入的讨论

2.数据库性能问题
  数据库设计一般需要注意哪些
  索引如何设计
  如何快速定位在较高负载时造成性能问题的存储过程或查询语句
  你自己一个功能较复杂的存储过程,如何评估它的效能,以及达到什么样的标准才签入到产品中

3.设计
  关于组件对外提供的接口,需要注意哪些
  工作中用过哪些设计模式及面向对象设计的原则,有过有用过的话,有没有相对较难但效果很好的实际应用



* struts1.2和webwork的区别
    * hibernate和ibatis的区别
    * spring工作机制,IOC容器
    * servlet的一些相关问题
    * webservice相关
    * java基础:jvm,HashSet等等
    * 考察学习新技术的能力


你对Java的集合框架了解吗? 能否说说常用的类?



说说Hashtable与HashMap的区别: 源代码级别的区别呢?



平时用过的List有哪些? (除了ArrayList和LinkedList),ArrayList和LinkedList的区别?



ArrayList的特点,内部容器是如何扩充的?



Properties类的特点? 线程安全?



===============================================

平时使用过的框架有哪些? (我提到了Struts2)



请说一下Struts2的初始化?和类的创建?(从源代码角度出发)



据你了解,除了反射还有什么方式可以动态的创建对象?(我提到了CGLIB…… 我以为他会接着问CGLIB,揪心中……,结果他没问)



请说一下Struts2 是如何把Action交给Spring托管的?它是单例的还是多例? 你们页面的表单对象是多例还是单例?



请说一下你们业务层对象是单例还是多例的?



请说一下Struts2源代码中有哪些设计模式?

面试的高级Java工程师

1、事务隔离有哪几种。

   不会

2、struts标签库,List数据的循环。

   勉强答出来了,<iterator>

3、spring里如何继承父类。

   我只知道在xml里针对某个<bean>配置一个属性,具体名字忘了。鄙视

4、oracle备份有几种?



5、webpshere共享session怎么操作?



6、http1.0和http1.1有什么区别?

 


======================================================



请说一下,你觉得你最熟悉的技术特点? (我提到了并发编程)



请说一下线程安全出现的原因?



请说一下线程池的中断策略(4个)? 各有什么特点?



请说一下Tomcat配置不同应用的不同端口如何配置? 如何配置数据源? 如何实现动态部署?



请说一下Java常用的优化?



你了解最新的Servlet规范吗? 简单说一下?(我提到了推)



那请你说一下“推”是如何实现的?



线程安全下,StringBuffer与StringBuilder的区别? 它们是如何扩充内部数组容量的? (源代码)



请说一下Tomcat中的设计模式?(我提到观察者模式)



是否可以说说Java反射的相关优化机制? (我说我不太清楚…… 他说没关系 - -!)



请说一些Mysql的常用优化策略?



因为我之前有提到过“推”,他可能对我的知识面比较感兴趣,要我说说平时都看些什么书,还了解一些什么其他的技术范畴。

(他首先提到SOA,我说有了解,并且是未来的趋势,还有提到云计算,我说有过一定了解,但是并未深究)



=====================================================

之后是几个职业方面的问题?



你觉得你的潜力? 你在团队中的位置? 你觉得跟团队中最好的还有哪些差距?你要花多少时间赶上他们?

====================================
在公司当技术面试官几年间,从应届生到工作十几年的应聘者都遇到过。先表达一下我自己对面试的观点:

    1.笔试、面试去评价一个人肯定是不够准确的,了解一个人最准确的方式就是“路遥知马力,日久见人心”。通过一、二个小时内的做题、交流,只是没有其他办法下进行的无奈之举,所以通过了面试不代表有多成功,没通过也不代表有多失败。
    2.好的面试官本身交谈的时候就不应当把自己一个居高临下的角色上,应当把自己和应聘者当做两个做技术的人平等的交流,把自己当作权威往往就会受到观点的角度、语言表达、工作领域的惯性的制约。
    3.好的考察题目则是大家能经常接触,不同层次的人能有不同层次的答案,能从问题引申出后面继续讨论的话题。

    举个例子抛砖引玉,下面这个问题是我以前常问的,从应届生到工作十几年的人都问过:
引用

“地球人都知道,Java有个东西叫垃圾收集器,它让创建的对象不需要像c/cpp那样delete、free掉,你能不能谈谈,GC是在什么时候,对什么东西,做了什么事情?”


我自己分析一下这个问题,首先是“什么时候”,不同层次的回答从低到高排列:

    1.系统空闲的时候。
    分析:这种回答大约占30%,遇到的话一般我就会准备转向别的话题,譬如算法、譬如SSH看看能否发掘一些他擅长的其他方面。

    2.系统自身决定,不可预测的时间/调用System.gc()的时候。
    分析:这种回答大约占55%,大部分应届生都能回答到这个答案,起码不能算错误是吧,后续应当细分一下到底是语言表述导致答案太笼统,还是本身就只有这样一个模糊的认识。

    3.能说出新生代、老年代结构,能提出minor gc/full gc
    分析:到了这个层次,基本上能说对GC运作有概念上的了解,譬如看过《深入JVM虚拟机》之类的。这部分不足10%。

    4.能说明minor gc/full gc的触发条件、OOM的触发条件,降低GC的调优的策略。
    分析:列举一些我期望的回答:eden满了minor gc,升到老年代的对象大于老年代剩余空间full gc,或者小于时被HandlePromotionFailure参数强制full gc;gc与非gc时间耗时超过了GCTimeRatio的限制引发OOM,调优诸如通过NewRatio控制新生代老年代比例,通过 MaxTenuringThreshold控制进入老年前生存次数等……能回答道这个阶段就会给我带来比较高的期望了,当然面试的时候正常人都不会记得每个参数的拼写,我自己写这段话的时候也是翻过手册的。回答道这部分的小于2%。

PS:加起来不到100%,是因为有确实少数直接说不知道,或者直接拒绝回答的= =#

    分析第二个问题:“对什么东西”:

    1.不使用的对象。
    分析:相当于没有回答,问题就是在问什么对象才是“不使用的对象”。大约占30%。

    2.超出作用域的对象/引用计数为空的对象。
    分析:这2个回答站了60%,相当高的比例,估计学校教java的时候老师就是这样教的。第一个回答没有解决我的疑问,gc到底怎么判断哪些对象在不在作用域的?至于引用计数来判断对象是否可收集的,我可以会补充一个下面这个例子让面试者分析一下obj1、obj2是否会被GC掉?
    class C{
         public Object x;
    }
    C obj1、obj2 = new C();
    obj1.x = obj2;
    obj2.x = obj1;
    obj1、obj2 = null;

    3.从gc root开始搜索,搜索不到的对象。
    分析:根对象查找、标记已经算是不错了,小于5%的人可以回答道这步,估计是引用计数的方式太“深入民心”了。基本可以得到这个问题全部分数。
    PS:有面试者在这个问补充强引用、弱引用、软引用、幻影引用区别等,不是我想问的答案,但可以加分。

    4.从root搜索不到,而且经过第一次标记、清理后,仍然没有复活的对象。
    分析:我期待的答案。但是的确很少面试者会回答到这一点,所以在我心中回答道第3点我就给全部分数。

    最后由一个问题:“做什么事情”,这个问发挥的空间就太大了,不同年代、不同收集器的动作非常多。

    1.删除不使用的对象,腾出内存空间。
    分析:同问题2第一点。40%。

    2.补充一些诸如停止其他线程执行、运行finalize等的说明。
    分析:起码把问题具体化了一些,如果像答案1那样我很难在回答中找到话题继续展开,大约占40%的人。
    补充一点题外话,面试时我最怕遇到的回答就是“这个问题我说不上来,但是遇到的时候我上网搜一下能做出来”。做程序开发确实不是去锻炼茴香豆的“茴”有几种写法,不死记硬背我同意,我不会纠语法、单词,但是多少你说个思路呀,要直接回答一个上网搜,我完全没办法从中获取可以评价应聘者的信息,也很难从回答中继续发掘话题展开讨论。建议大家尽量回答引向自己熟悉的,可讨论的领域,展现给面试官最擅长的一面。

    3.能说出诸如新生代做的是复制清理、from survivor、to survivor是干啥用的、老年代做的是标记清理、标记清理后碎片要不要整理、复制清理和标记清理有有什么优劣势等。
    分析:也是看过《深入JVM虚拟机》的基本都能回答道这个程度,其实到这个程度我已经比较期待了。同样小于10%。

    4.除了3外,还能讲清楚串行、并行(整理/不整理碎片)、CMS等搜集器可作用的年代、特点、优劣势,并且能说明控制/调整收集器选择的方式。
    分析:同上面2个问题的第四点。

    最后介绍一下自己的背景,在一间不大不小的上市软件公司担任平台架构师,有3年左右的面试官经验,工作主要方向是大规模企业级应用,参与过若干个亿元级的项目的底层架构工作。


1.JVM的三个代是什么,各有什么作用和区别 汗。。。不是很了解 答的不是很好
2.远程方法调用和分布式相关的东西(记不清了)
3.还是远程JNDI..........
3.1 HashMap和HashTable的区别,更快的map结构是什么,并且要求是线程安全
4. 项目中用到的框架struts1和struts2的区别,struts1的流程,struts2的流程,为什么要用,你觉得劣势在哪儿。。。。
5. Hibernate的框架,流程,对项目的帮助,一级缓存,二级缓存,与ibatis的区别,iBATIS的架构。。。。。。。
6 JVM的gc,哪些回收策略,怎么判定是否该回收,不同的场景(高并发、低响应等)下如何选择策略
7 说说你做的项目,流程,角色,用了哪些设计工具,流程图,时序图。。。。。。。。 8 设计模式,手写单例、简单工程、模板方法三个的案例代码,其他的简要说说,如策略、适配器。。。。。。。。
9 SPring原理,IOC\DI 面向切面 ,如何实现的,事务管理
10. 平时去哪些web2.0网站,让你设计微博,你觉得最会出现性能的地方在哪儿(其实就是问微博如何把一条消息最短时间通知几十万的粉丝),如何解决
11.平时去哪些技术网站,关注哪些牛人的文章,最近看的最深刻的一片技术文章是什么
分享到:
评论

相关推荐

    C#面试问题-个人整理收集。

    C#面试问题。 C#面试问题。 C#面试问题。 C#面试问题。

    2023 年最常见的人工智能面试问题(精选)

    在这个人工智能面试问题博客中,我收集了面试官最常问的问题。 人工智能 (AI) 面试问答、人工智能面试准备 此 Edureka 人工智能 (AI) 面试问题和答案将帮助您通过人工智能 (AI) 面试。 在这篇关于人工智能面试问题...

    100个常见面试问题和答案

    "100个常见面试问题和答案" 面试是职业发展的关键一步骤,对于求职者来说,准备充分是非常重要的。今天,我们将要讨论100个常见面试问题和答案,这将有助于求职者更好地准备面试,提高面试的成功率。 问题1:请给...

    2020渗透测试面试问题搜集.txt

    2020渗透测试面试问题搜集.txt

    南网-面试问题收集.pdf

    面试官通过这些专业问题,旨在评估应聘者是否具备解决实际工作中遇到的技术问题的能力。 在面试中,除了专业知识的考察外,还会有涉及应急处理和安全问题的提问。如变压器起火后如何应对、设备故障如何处理,这些都...

    c#面试经典问题与答案(搜集了网络中几乎所有问题)

    在C#面试中,经典问题往往涵盖了许多核心概念和技术,对于求职者来说是必备的知识。以下是一些关键问题的解答: 1. `string str = null` 与 `string str = ""` 的区别在于,`null` 表示字符串引用为空,而`""`则是...

    Java后端面试问题整理.docx

    Java后端面试问题涵盖了许多核心知识点,主要集中在Java虚拟机(JVM)、Java基础...了解并掌握这些知识点,对于Java后端开发者来说,不仅能在面试中表现出色,也能在实际工作中更好地解决性能问题和编写高质量的代码。

    JAVA程序员 面试 java面试资料集锦 经验 面试常问的问题 面试无忧

    6. **JVM**:理解Java虚拟机的工作原理,包括类加载机制、内存区域划分、垃圾收集算法、性能优化等,这些都会让你在面试中脱颖而出。 7. **框架知识**:Spring Boot、Spring MVC、MyBatis等主流框架的使用和原理...

    java面试中遇到的问题

    Java 面试中遇到的问题 Java 面试中常设计到的问题,以下是对标题和描述中所说的知识点的详细说明: Core Java * 线程:Java 中的线程是通过 Thread 类或 Runnable 接口来实现的。线程的生命周期包括新建、就绪、...

    B端产品经理面试问题及答案(二) 【11年大厂面试官呕心制作】.pdf

    - 第二步是**搜集竞品**,通过多种途径收集信息,并确定选择竞品的标准。 - 第三步是**深度体验和分析**,尝试竞品服务,了解其功能和用户体验。 - 第四步是**信息整理**,记录竞品的关键特点和优势。 - 第五步...

    面试试题收集1.1 面试试题收集1.1

    面试试题收集1.1 面试试题收集1.1 面试试题收集1.1

    面试资料,面试技巧,面试文档

    面试前做好四件事 面试之前必须查明一切 面试前如何搜集相关资料 面试前的小节勿忽视 面试准备勿重“难”轻“易” 克服面试怯场十招 面 试 中: 60秒抓住考官的心 面试抓住最初三分钟至关重要 不妨把面试当作...

    5G高级面试题收集.docx

    5G高级面试题集主要涵盖了几大关键知识点,包括5G同步...以上就是5G高级面试题集中的核心知识点,涵盖了5G网络的基础架构、互操作策略以及实际部署中的考虑因素。这些内容对于理解和评估5G网络的设计与优化至关重要。

    考察不同能力的面试问题收集.pdf

    "考察不同能力的面试问题收集.pdf"这份文档显然提供了针对多种关键能力设计的面试问题,旨在帮助面试官深入挖掘候选人的潜在素质。以下是对这些能力及其相关问题的详细解读: 1. 影响他人能力:这一部分可能包含...

    PWC面试资料网上收集版

    【PWC面试资料网上收集版】 PWC,全称普华永道,是全球四大会计师事务所之一,其面试流程严谨且竞争激烈。对于想要进入PWC工作的求职者来说,充分准备是至关重要的。这份“PWC面试资料网上收集版”集合了关键的面试...

    IT公司面试大全(收集)

    对于技术岗位,尤其是与Linux相关的职位,面试官往往会考察候选人的基础知识、实践经验以及问题解决能力。这篇“IT公司面试大全”是一个宝贵的资源,包含了丰富的Linux面试笔试题,帮助求职者准备迎接挑战。以下是...

    川护2020年单招面试问题归纳(小徐整理).rar

    由于压缩包内只有一个名为"川护2020年单招面试问题归纳(小徐整理).docx"的文件,我们可以推测这是一份Word文档,其中详细列出了四川护理学院2020年单独招生面试中可能会遇到的问题,并可能包含了一些相关解答、...

    收集整理的Android【面试】资料精编汇总(25个).zip

    收集整理的Android【面试】资料精编汇总(25个) 2019Android面试 常见58题.docx Android常见原理性面试专题.docx Android面试常问基础知识点.docx BAT Android面试20题详解.docx Java基础面试题.pdf Java;基础知识...

    Java面试常见面试题

    5. **JVM**:Java虚拟机的内存管理、垃圾收集机制、性能优化、类加载过程、类加载器、JVM调优工具等都是面试中常见的问题。理解JVM的工作原理对于优化程序性能至关重要。 6. **MySQL**:数据库相关面试题涵盖SQL...

Global site tag (gtag.js) - Google Analytics