JAVA开发工程师面试(1)
我已经有很长一段时间没有更新博客了,难道是博主我变懒惰了吗?哎,这样可不行啊,我还有好多知识要学习,要和大家分享。以后我需要更加努力,改掉自己的惰性。本人文采不怎么样,只能是把自己所想的说出来,想和大家一起分享知识,互相学习,丰富自己,所以在文采方面,大家多多体谅体谅。我尽可能的去写好每一篇博客,让大家方便阅读和了解。
最近我去面试了几家公司,是关于JAVA开发工程师的职位。今天我就写一写关于在面试过程中的一些问题,如果您看到了这篇博客,可能会对您面试的时候有一些帮助。
1.自我介绍
关于自我介绍这方面的内容,每一个人都有自己的介绍方式。我讲述自我介绍方式不一定适合所有人,这个只是代表我个人的看法。自我介绍就是把您给面试官的简历上面的内容的简介版,包含学历、以往公司、项目经历、证书,同时您也可以把个人兴趣爱好、性格也介绍一下,让面试官更加了解您本人,我也提醒一下在介绍自己性格的时候,你要考虑到你现在的面试职位是否与性格符合,面试官可能会抓住你的性格问题详细询问你引发出来的问题,如果你不能很好的回答这些问题的话,我建议你不要在自我介绍的时候说出自己的性格。
2.技术问题
关于技术问题的话,那就需要你有很好的技术知识和能力,这部分面试的时候是注重之重,因为这部分决定了公司是否聘你和入职后的薪资问题,下面我把面试我的一些技术问题列举出来,以供大家参考。
(1)StringBuffer类初始容量及扩容是多少?
(a)StringBuffer()的初始容量可以容纳16个字符,当该对象的实体存放的字符的长度大于16时,实体容量就自动增加。StringBuffer对象可以通过length()方法获取实体中存放的字符序列长度,通过capacity()方法来获取当前实体的实际容量。
(b)StringBuffer(int size)可以指定分配给该对象的实体的初始容量参数为参数size指定的字符个数。当该对象的实体存放的字符序列的长度大于size个字符时,实体的容量就自动的增加。以便存放所增加的字符。
(c)StringBuffer(String s)可以指定给对象的实体的初始容量为参数字符串s的长度额外再加16个字符。当该对象的实体存放的字符序列长度大于size个字符时,实体的容量自动的增加,以便存放所增加的字符。
(2)String和StringBuffer有什么区别?
(a)在这方面运行速度快慢为:StringBuilder > StringBuffer > String,
String最慢的原因:
String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。
(b)在线程安全上,StringBuilder是线程不安全的,而StringBuffer是线程安全的
(3)collection集合?
Collection集合(单点集合)包含:
(a)List特点:元素有序;元素可以重复;元素都有索引(角标)
Vector:内部是数组数据结构,是同步的(线程安全的)。增删查询都很慢。
ArrayList:内部是数组数据结构,是不同步的(线程不安全的)。替代了Vector。查询速度快,增删比较慢。
LinkedList:内部是链表数据结构,是不同步的(线程不安全的)。增删元素速度快。
(b)Set 特点:元素无序;元素不可以重复;
HashSet、TreeSet
注意:set不可以重复是因为值是取得Map的key,key是不能重复的。
与Collection相对应的是Map集合(键值对):
HashMap、TreeMap
(3)Spring MVC处理请求流程(详情介绍见这篇文章:https://www.cnblogs.com/javJoker/p/10486142.html)
(4)HashMap是键值对的形式存储值得,如果用对象作为key,怎么比较key是否一样?
HashMap的key是个对象的话,大家都是知道判断对象是否相等,直接使用“==”操作符是不可以的,这样比较的值是它们各自的地址,而不是对象属性的值,其实String类型也是一个对象,比较两个字符串是否相等,我们使用的是对象中的equals方法。当HashMap的使用自定义对象作为key的时候,我们需要重写对象的equals方法,可以通过重写对象中的toString()方法把属性转化成字符串的形式,然后在比较字符串是否相等,同时我们也需要重写hashCode方法。String类型的底层已经重写了hashCode和equals方法。有一篇博客详细介绍了:https://www.cnblogs.com/dolphin0520/p/3681042.html.(后期补充:HashMap 的key和value都可以允许为空,key的去重是HashMap 是使用 hashCode 和 equals 实现去重的, 如果key是对象类型的话,需要在带对象中重写hashCode 和 equals 方法,不需要使用toString()方法让对象转化为字符串进行比较。使用toString()这个方法比较是我一次面试的时候考官说的,当时面试的时候我说重写hashCode 方法,他却不以为然,就告诉了我toString()方法,那个时候的本以为是这个方法是最好的,现在我才明白面试官考你的时候,也不一定知道,有时候也要相信自己。另外再说一个课外话:TreeMap 依靠 Comparable 或Comparator 来实现 Key 的去重 ,所以key是需要重写这个方法。)
(5)mysql中的分页查询语句中limit两个参数分别代表什么意思?
select * from table [offset,] rows | rows OFFSET offset
LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量
,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1)
:
(6)Mybatis中#{}和${}的区别?
点击看这篇博客:https://www.cnblogs.com/zqr99/p/8094234.html
3.最后会从个人写的项目引发出一些问题进行提问。
JAVA开发工程师面试(1)的更多相关文章
- Java开发工程师面试-基础
JDK.JRE.JVM有什么区别? JDK:Java Development Kit 针对Java程序员的产品 JRE:Java Runtime Environment是运行Java的环境集合 JVM ...
- Java开发工程师面试-Web基础与数据处理
Servlet执行流程 客户端浏览器向Tomcat服务器发送Http请求 Tomcat解析web.xml文件,找到对应的url以及servlet-name,根据servlet-name找到对应的ser ...
- Java高级开发工程师面试笔记
最近在复习面试相关的知识点,然后做笔记,后期(大概在2018.02.01)会分享给大家,尽自己最大的努力做到最好,还希望到时候大家能给予建议和补充 ----------------2018.03.05 ...
- 简历编写技巧-java开发工程师简历实战
看到一遍简历编写的文章 想到也快找工作了 早晚能够用上 现在摘录如下 640?wx_fmt=jpeg 工欲善其事,必先利其器,这是自古以来的道理.所以如果想找到一份好的工作,一定要先整理一份好的简历. ...
- 阿里巴巴-OS事业群-OS手机事业部-系统服务部门招聘Java开发工程师,有意者请进来
我是阿里巴巴-OS事业群-OS手机事业部-系统服务部的开发工程师,正在招聘Java开发工程师. 以下是职位描述: 岗位名称:Java开发工程师 招聘人数:5人 生效日期:2014-03-12 结束日期 ...
- 开发工程师面试的秘密( 整理自 Export C Programming )
开发工程师面试的秘密 因为打算转战linux平台,所以一直在配置自己喜欢的linux操作系统.同时在看那本<C 专家编程>,这本书主要是针对ANSI C 介绍的,所以和Linux(Unix ...
- 知名互联网公司校招 Java 开发岗面试知识点解析
天之道,损有余而补不足,是故虚胜实,不足胜有余. 本文作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向.在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几 ...
- Java开发岗面试知识点解析
本文作者参加过多场面试,应聘岗位均为 Java 开发方向.在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Java 常见集合 高并发编 ...
- Java开发工程师学习路线
贴一个比较出名的Java开发工程师学习路线图 好好学习提升中 这个貌似也不是特别全,算法,设计模式,架构好像都没有
随机推荐
- tomcat中配置servlet.xml的JNDI或JDBC连接数据库【原】
tomcat中配置servlet.xml的JNDI或JDBC连接数据库 一. JNDI 1. tomcat环境 找到X:\xxx\......\apache-tomcat-6.0.39\conf\se ...
- gcc和gdb使用笔记
gcc: http://wiki.ubuntu.org.cn/Gcchowto gdb: http://wiki.ubuntu.org.cn/%E7%94%A8GDB%E8%B0%83%E8%AF%9 ...
- 2018-2019-2 网络对抗技术 20165320 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165320 Exp4 恶意代码分析 一.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行 分析一个恶意软件,就分析Exp2或Exp3中生成后门软 ...
- 基于Python的机器学习实战:AadBoost
目录: 1. Boosting方法的简介 2. AdaBoost算法 3.基于单层决策树构建弱分类器 4.完整的AdaBoost的算法实现 5.总结 1. Boosting方法的简介 返回目录 Boo ...
- SpringBoot注册Servlet、Filter、Listener
SpringBoot默认是以jar包的方式启动嵌入式的Servlet容易来启动SpringBoot的Web应用,没有web.xml文件 因此我们可以使用以下方式来注册Servlet.Filter.Li ...
- 【Python】批量查询-提取站长之家IP批量查询的结果加强版本v3.0
1.工具说明 写报告的时候为了细致性,要把IP地址对应的地区给整理出来.500多条IP地址找出对应地区复制粘贴到报告里整了一个上午. 为了下次更好的完成这项重复性很高的工作,所以写了这个小的脚本. 某 ...
- 泰克TDS1000B示波器使用说明
1.前言 本文主要根据泰克官方网站TDS1000B/TDS2000B使用教程视频进行整理. 2.认识你的示波器 TDS1000B带宽从40MHZ到200MHZ,采样率高达2Gbps
- 001_TCP/IP TIME_WAIT状态原理及监控实战
一.原理 <1>TIME_WAIT状态原理---------------------------- 通信双方建立TCP连接后,主动关闭连接的一方就会进入TIME_WAIT状态. 客户端主动 ...
- mysql数据库报错:InnoDB: Operating system error number 13 in a file operation
环境:centos6.5 x86_64 启动mysql发现日志报错(日志路径可以查看/etc/my.cnf的配置) 160722 10:34:08 [Note] Found 42570716 of 4 ...
- 利用excel办公软件快速拼凑sql语句
日常工作中经常会收到excel整理好的部门或者人员等数据信息并需要批量更新或者插入到数据库中,常用的办法有导入.脚本拼凑执行等,今天我介绍直接使用excel快速拼凑sql语句的方法 1.update批 ...