pbootcms官网获取到了授权码后填哪里

Java程序员面试中容易被问哪些问题?

作为从事java开发6年的程序猿,参于的面试有七八十场吧,程序猿面试问题是根据企业的招聘需求而定的,三年和五年的程序员遇到的问题是有区别的,所以不能一概而论。


三年开发经验的程序员

础相关

  1. java的基本数据类型有哪些
  2. java中用到的集合的区别,比如ArrayList和LinkedList的区别
  3. 什么是自动装箱和自动拆箱
  4. stringbuffer和Stringbulider有什么区别
  5. hashmap的实现原理
  6. HashMap和hashtable有什么区别
  7. 重载和重写的区别
  8. 接口和抽象类的区别
  9. 开发中使用过哪些设计模式
  10. 请实现一个单利模式
  11. jsp和servlet有没有区别
  12. 如何实现自定义Filter
  13. java中实现多线程的方式

框架相关

  1. spring的特性
  2. spring AOP有哪些应用
  3. struct2的工作原理
  4. hibernate和mybaits的区别
  5. hibernate总如何实现一对多、多对多
  6. hibernate如何解决N+1查询问题

数据库相关

  1. 请手写一个oracle分页查询
  2. 一张成绩表包含语数外三门课程,请帮我查询“小明同学的排名”
  3. 如何解决sql查询缓慢的问题

五年开发经验的程序员

五年开发经验的程序员问道的问题会更趋向于原理方面,当然三年经验的问题依然会问道,但是侧重点不一样了

基础相关

  1. java多线程的实现方式
  2. java线程池的实现原理以及工作流程
  3. 请写一个死锁程序
  4. ConcurrentHashMap的实现原理

  5. java并发中的最佳实践有哪些

  6. volatile关键字的用途

  7. 是否用过消息队列

  8. 是否用过zookeeper和dubbo

  9. zookeeper的选举机制说一下

以上就是一些面试会遇到的问题,当然只是列举了一些,因为每个面试官的侧重点不一样,有的面试官喜欢连环炮是的发问,问完一个接着深入问另一个相关的问题,知道自己回答不上来为止,有的是东一个问题西一个问题,所以没有什么面试宝典,唯一能做的就是加深自己的修炼

我是北漂coder,以上就是我的回答,欢迎关注,一起探讨交流

为什么都推荐使用wordpress而不是phpcms这些国内的CMS呢?

由于我每年都会面试不少程序员,其中就包括相当数量的Java程序员,所以就这个问题,跟头条的广大网友交流一下。

Java工程师面试也是有一定的侧重点,做不同的研发方向,问题上也有所区别。另外,初级程序员与主力程序员的面试问题也有很大的不同,总的来说就是方向与定位相结合,下面为大家一一描述。


Java初级程序员面试


面试Java初级程序员的流程相对来说比较简单,通常是两轮面试,首轮面试一般进行技术面试,次轮面试通常是有HR统一安排关于职业规划以及心理方面的面试(大部分情况是走个流程),这两轮面试中,技术面试起到了关键的作用。

面试初级程序员(2-3级)一般从技术细节入手,要通过面试,首先要知道初级程序员都需要具备哪些能力。下面先描述一下作为一个Java初级程序员(2-3级,Web方向为主)应该满足哪些要求:

  1. 清晰Java面向对象编程步骤,理解封装、继承、多态等核心概念,理解基本的前端内容(HTML、CSS、JavaScript)。

  2. 能理解程序流程图描述的功能需求,能独立完成功能模块的编写、部署,能理解功能模块之间的交互关系,能完成功能模块之间的消息传递和处理。

  3. 能理解MVC、DAO等框架,并在实际开发中熟练使用,能独立完成前后台的数据处理,能完成各种认证功能的处理。

  4. 能使用数据库连接池等基本优化方式提高程序运行效率。

  5. 能理解容器在程序运行中的作用,能配置各种容器的基本参数。

  6. 对程序的安全性有一定的理解,能避免初级的安全性问题。

  7. 能处理一定数量的并发问题,能解决多线程情况下的数据安全问题。

  8. 能理解不同角色的任务分配,能进行有效沟通。

  9. 常见框架的使用,比如SpringMVC等。

初级程序员的工作往往是编写程序基本功能组件,是保证程序质量的一个重要环节,所以团队的整体能力往往并不是由架构师决定的,反而是由众多的初级程序员决定的。


Java主力程序员面试


主力程序员的面试通常要3轮或4轮,当然如果你走到了后面的两轮,基本上选择权就在你手里了,后面的两轮面试公司会给你安排一个看似比较美好的职业发展规划,因为主力程序员不仅要编码通常还承担者一部分管理工作(项目责任人),也是管理层比较倚重的。

主力程序员的技术面试流程并没有那么多细节问题,首先要了解一下做过哪些项目,在项目中都承担了什么任务,项目中遇到了哪些问题,怎么解决的等等。通常主力程序员的面试时间也比较长(2至3个小时),面试的氛围也比初级程序员要轻松很多。

主力程序员大部分是推荐上来的,有人力资源公司推荐的,也有公司内推上来的,当然也有主动投送简历要求面试的。一般对主力程序员都会有背景调查,这一方面是对公司负责,另一方面也是对应聘者应有的尊重。

希望通过我的回答,大家能对Java程序员的面试有一个基本的了解。

我是悟空问答的签约作者,致力于为头条网友提供优质的科技类问题解答,关注我,跟我一起交流关于科技类的问题吧。