sokaoti.com
2021年研发工程师面试笔试题目

类String对象和类StringBuffer对象都是字符串变量,建立后都可以修改。()

此题为判断题(对,错)。


参考答案:错误


下列关于字符串的叙述错误的是 ( )

A.创建String类的字符串对象后,字符串所代表的文本根据情况可改变

B.字符串由java.lang.String和java.lang.StringBuffer定义

C.字符串常用数组存储,处理字符串实际上就是对数组元素的分别处理,要注意数组下界不要越界

D.在Java语言中,字符串是作为对象来处理的


正确答案:A
解析:创建String类的字符串后,字符串代表的文本就不能改变,而创建StringBuffer对象后字符串代表的文本就可以根据情况而改变,这也是两者的最大区别。所以选项 A的叙述是错误的。


下列关于字符串的叙述错误的是( )。

A.创建String类的字符串对象后,字符串所代表的内容根据情况可改变

B.字符串可以使用java.lang.String和java.lang.StringBuffer来定义

C.StringBuffer用来处理长度可变的字符串

D.在Java语言中,字符串是作为对象来处理的


正确答案:A
解析:String类是Java中的常量类,一旦用String创建了一个字符串对象,该字符串所代表的文本就不能改变了。


String 和StringBuffer的区别


正确答案:

 

JAVA 平台提供了两个类:String 和StringBuffer,它们可以储存和操作字符串,即包含多个

字符的字符数据。这个String 类提供了数值不可改变的字符串。而这个StringBuffer 类提供

的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,

你可以使用StringBuffers 来动态构造字符数据。另外,String 实现了equals 方法,new

String(“abc”).equals(new String(“abc”)的结果为true,而StringBuffer 没有实现equals 方法,所

以,new StringBuffer(“abc”).equals(new StringBuffer(“abc”)的结果为false。

接着要举一个具体的例子来说明,我们要把1 到100 的所有数字拼起来,组成一个串。

StringBuffer sbf = new StringBuffer();

for(int i=0;i<100;i++)

{

sbf.append(i);

}

上面的代码效率很高,因为只创建了一个StringBuffer 对象,而下面的代码效率很低,因为

创建了101 个对象。

String str = new String();

for(int i=0;i<100;i++)

{

str = str + i;

}


String 字符串常量,StringBuffer 字符串变量(线程安全),StringBuilder 字符串变量(非线程安全)


正确答案:
简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后, JVM 的 GC 就会开始工作,那速度是一定会相当慢的。
而如果是使用 StringBuffer 类则结果就不一样了,每次结果都会对 StringBuffer 对象本身进行操作,而不是生成新的对象,再改变对象引用。所以在一般情况下我们推荐使用 StringBuffer ,特别是字符串对象经常改变的情况下。而在某些特别情况下, String 对象的字符串拼接其实是被 JVM 解释成了 StringBuffer 对象的拼接,所以这些时候 String 对象的速度并不会比 StringBuffer 对象慢,而特别是以下的字符串对象生成中, String 效率是远要比 StringBuffer 快的: 3、String 和StringBuffer的区别?
JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。


研发工程师面试笔试题目研发工程师面试难吗?求职面试时,面试官一般都会问你一些问题,也可能是通过问卷的形式提问,怎么回答才是最好的呢?这里给大家分享一些研发工程师面试笔试题目,希望对大家有所帮助。研发工程师招聘面试题一、String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的?1. String是字符串常量,StringBuffer和StringBuilder是字符串变量。StringBuffer是线程安全的,StringBuilder是非线程安全的。具体来说String是一个不可变的对象,每次修改String对象实际上是创新新对象,并将引用指向新对象。效率很低。StringBuffer是可变的,即每次修改只是针对其本身,大部分情况下比String效率高,StringBuffer保证同步(synchronized),所以线程安全。StringBuilder没有实现同步,所以非线程安全。但效率应该比StringBuffer高。StringBuffer使用时最好指定容量,这样会比不指定容量快30%-40%,甚至比不指定容量的StringBuilder还快。二、VECTOR,ARRAYLIST, LINKEDLIST的区别是什么?vector是同步的,arraylist和linkedlist不是同步的。底层方面,vector与arraylist都是基于objectarray实现的,但考虑vector线程安全,所以arraylist效率上回比vector较快。元素随机访问上,vector与arraylist是基本相同的,时间复杂度是O(1),linkedlist的随机访问元素的复杂度为O(n)。但在插入删除数据上,linkedlist则比arraylist要快很多。linkedlist比arraylist更占内存,因为linkedlist每个节点上还要存储对前后两个节点的引用。三、HASHTABLE, HASHMAP,TreeMap区别Hashmap和HashTable都实现了Map接口,但HashTable是线程安全的,HashMap是非线程安全的。HashMap中允许key-value值均为null,但HashTable则不允许。HashMap适合单线程,HashTable适合多线程。HashTAble中的hash数字默认大小是11,增加方式为old_2+1,HashMap中的hash默认大小为16,且均为2的指数。TreeMap则可以将保持的数据根据key值进行排列,可以按照指定的排序方式。默认为升序。四、ConcurrentHashMap和HashTable的区别两者均应用于多线程中,但当HashTable增大到一定程度时,其性能会急剧下降。因为迭代时会被锁很长时间。但ConcurrentHashMap则通过引入分割来保证锁的个数不会很大。简而言之就是HashTable会锁住真个map,而ConcurrentHashMap则只需要锁住map的一个部分。五、Tomcat,apache,jboss的区别Tomcat是servlet容器,用于解析jsp,servlet。是一个轻量级的高效的容器;缺点是不支持EJB,只能用于Java应用。Apache是http服务器(web服务器),类似于IIS可以用来建立虚拟站点,编译处理静态页面。支持SSL技术,支持多个虚拟主机等功能。Jboss是应用服务器,运行EJB的javaee应用服务器,遵循javaee规范,能够提供更多平台的支持和更多集成功能,如数据库连接,JCA等。其对servlet的支持是通过集成其他servlet容器来实现的。如tomcat。六、GET POST区别get是从服务器上获取数据,post是向服务器发送数据。get是把参数数据队列加到提交表单的action属性所指的URL中,值和表单内各个字段一一对应,在url中可以看到。post是通过HTTPpost机制,将表单内各个字段与其内容放置在html header内一起传送到action属性所指的url地址。对于get方式,服务区端用request.QueryString获取变量值,对于post方式,服务器端用request.Form获取提交的数据。get传送的数据量较小,post较大,一般不受限制。get安全性比post要低,但执行效率较高。七、SESSION, COOKIE区别session数据放在服务器上,cookie则放在客户浏览器上。cookie不太安全,因为可以分析出本地cookie,并进行cookie欺骗,考虑安全应使用session。session会在一定时间内保存在服务器上,当访问增多时,会比较占用服务器的性能,考虑减轻服务器压力则应该使用cookie。单个cookie保持的数据不超过4k,很多浏览器都限制要给站点最多保存20个cookie。八、Servlet的生命周期主要分三个阶段:初始化调用init()方法,响应客户请求阶段调用service()方法,终止阶段调用destroy方法。工作原理:客户发送一个请求,servlet调用service方法对请求进行响应,即对请求方式进行匹配,选择调用doGet、doPost方法等,然后进入对于的方法中调用逻辑层的方法,实现对客户的响应。自定义的servlet必须首先servlet接口。具体生命周期包括:装载Servlet、服务器创建Servlet实例、服务器调用Servlet的init()方法、客户请求到达服务器、服务器创建请求对象、服务创建相应对象、服务器激活Servlet的service方法,请求对象和响应对象作为service()方法的参数、service()方法获得关于请求对象的信息,处理请求,访问其他资源,获得需要的信息、service()方法可能激活其他方法以处理请求,如doGet(),doPost()深圳艾派应用系统有限公司Java研发工程师面试题JAVA基础部分:一:选择关于静态变量描述正确的垃圾回收的方式system.gc()二:填空三:问答Statement 和preparedStatement的区别谈谈final, finally, finalize的区别面向对象部分:(这部分主要还是UML方面的)写一个Singleton模式一:选择UML的图下面那个图可以用来说明程序的执行顺序和程序的行为UML的执行者的描述正确的眼睛,鼻子,耳朵与头的关系描述正确A继承 B、。组合 C。实例化 D。引用男人和人的关系描述正确的是A继承 B。组合 C。实例化 D。引用二:填空可以用?来控制程序结构为单入口单出口三.问答题useCaseJAVA WEB部分:一:选择java中表示同步方法的关键字是synchronizedSCRIPT中用于提示消息的是那个二: 填空1. 事务的ACDI属性:原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability)2. JSP的4个基本动作3. 字符串通常分为2类,字符串常量我们通常用 表示,字符串变量我们通常用 类表示4. 如何用javaScript 提示用户消息框提示对话框、三:问答题设计一个页面要求:有一个输入框用于填写age,一个提交按钮,还要写一段SCRIPT用于判断年龄(当年龄大于55岁时 要求提示用户年龄太大)面试问我的2个问题:HIBERNATE的主键你如何配置的,它有几种关联关系描述STRUTS的工作流久其Java研发面试题1.常用的开源框架2.Eclipse开发中用到的插件3.项目开发中,遇到问题如何解决,举例说明4.MVC控制层的作用5.开发中用到的工具6.谈谈数据库的内外连接7.你用过哪些数据库8.学习了哪些课程9.举例说明快速学习的成果10.在大学期间所获的奖励11.谈谈数据结构12.说说struts框架在前台会先让填一张表,正面是自己的基本信息,反面是心理测试题,就是让你选出符合描述自己的名词。之后是做一套题,内容涉及到操作系

下列关于字符串的描叙中错误的是( )

A、字符串是对象

B、String对象存储字符串的效率比StringBuffer高

C、可以使用StringBuffersb="这里是字符串"声明并初始化StringBuffer对象sb

D、String类提供了许多用来操作字符串的方法:连接,提取,查询等


正确答案:BC


提供长度可变字符串对象的表示的类是( )。

A.String类

B.StringBuffer类

C.Stringinput类

D.StringOutput类


正确答案:B


下列哪个说法是正确的:()。

  • A、ConcurrentHashMap使用synchronized关键字保证线程安全
  • B、HashMap实现了Collection接口
  • C、Arrays.asList方法返回java.uti.ArrayList对象
  • D、SimpleDateFormat对象是线程不安全的

正确答案:D


String与StringBuffer的区别()。

  • A、String是不可变的对象,StringBuffer是可以再编辑的
  • B、String是常量,StringBuffer是变量
  • C、String是可变的对象,StringBuffer是不可以再编辑的
  • D、以上说法都不正确

正确答案:A,B


下列关于String类和stringBuffer类说法正确的有()。

  • A、String类是不可变类,一个String对象所包含的字符串内容永远不会被改变
  • B、如果对字符串中的内容经常进行操作,特别是内容要修改时,应使用StringBuffer
  • C、StringBuffer类是可变类,一个StringBuffer对象所包含的字符串内容可以被添加或修改
  • D、字符串缓冲区支持可变的字符串

正确答案:A,B,C,D

更多 “2021年研发工程师面试笔试题目” 相关考题
考题 多选题下列关于String类和stringBuffer类说法正确的有()。AString类是不可变类,一个String对象所包含的字符串内容永远不会被改变B如果对字符串中的内容经常进行操作,特别是内容要修改时,应使用StringBufferCStringBuffer类是可变类,一个StringBuffer对象所包含的字符串内容可以被添加或修改D字符串缓冲区支持可变的字符串正确答案:A,B解析:暂无解析

考题 单选题关于String,StringBuilder以及StringBuffer,描述错误的是()。A 对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象B StringBuffer是线程安全C StringBuilder是线程安全D 可以修改StringBuilder和StringBuffer的内容正确答案:B解析:暂无解析

考题 多选题下列关于字符串的描叙中错误的是()。A字符串是对象BString对象存储字符串的效率比StringBuffer高C可以使用StringBuffer sb=这里是字符串声明并初始化StringBuffer对象sbDString类提供了许多用来操作字符串的方法:连接,提取,查询等正确答案:D,C解析:暂无解析

考题 单选题Which methods from the String and StringBuffer classes modify the object on which they are called?()A The charAt() method of the String class.B The toUpperCase() method of the String class.C The replace() method of the String class.D The reverse() method of the StringBuffer class.E The length() method of the StringBuffer class.正确答案:D解析:暂无解析

考题 判断题StringBuffer对象中的值是不可变的A 对B 错正确答案:对解析:暂无解析

考题 StringBuffer对象中的值是不可变的正确答案:错误

考题 Which methods from the String and StringBuffer classes modify the object on which they are called?()  A、The charAt() method of the String class.B、The toUpperCase() method of the String class.C、The replace() method of the String class.D、The reverse() method of the StringBuffer class.E、The length() method of the StringBuffer class.正确答案:D

考题 单选题关于 String、StringBuffer 和 StringBuilder 说法错误的是()A String 创建的字符串是不可变的B StringBuffer 创建的字符串是可变的,而所引用的地址一直不变C StringBuffer 是线程安全的,因此性能比 StringBuilder 好D StringBuilder 没有实现线程安全,因此性能比 StringBuffer 好正确答案:A解析:暂无解析

考题 判断题String对象和StringBuffer对象都是字符串变量,创建后都可以修改A 对B 错正确答案:错解析:暂无解析

考题 下列关于字符串的描叙中错误的是()。A、字符串是对象B、String对象存储字符串的效率比StringBuffer高C、可以使用StringBuffer sb="这里是字符串"声明并初始化StringBuffer对象sbD、String类提供了许多用来操作字符串的方法:连接,提取,查询等正确答案:B,C