Java朗致集团面试题
首先本人自己是一名Java开发,去过朗致集团面试,无聊之余,整理下他们公司的面试题,希望可以帮到别人。当然有些部分是自己查的,也有一部分题目没有写,大家也可以帮我补充,或者更改。
注:如有侵权,请联系本人删除文章,谢谢。
一、如此定义,short s=1;是否有误,定义 long v=99999999;是否有误;
答:short s =1 没问问题,需要注意的是,short和int之间会有一个类型转换的过程;
也就是说,byte,short,int,long,类型由大转成小的时候,会有隐式的转换;
隐式转换也叫作自动类型转换, 由系统自动完成.从存储范围小的类型到存储范围大的类型.
byte->short(char)->int->long->float->double
显示类型转换也叫作强制类型转换, 是从存储范围大的类型到存储范围小的类型.当我们需要将数值范围较大的数值类型赋给数值范围较小的数值类型变量时,由于此时可能会丢失精度(1讲到的从int到k型的隐式转换除外),因此,需要人为进行转换。我们称之为强制类型转换。
double→float→long→int→short(char)→byte
long 类型定义 数值后面必须加l;
二、math.round(-5.5)的结果是什么?
三、abstractmethod 是否可以同时static?为什么?
四、一个需要对key排序的Map,您一般选择哪个?HashMap,LinkedHashMap 为什么?
java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap.
HashMap是一个最常用的Map,它根据键的hashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条记录的键为NULL,允许多条记录的值为NULL。
Hashtable与HashMap类似,不同的是:它不允许记录的键或者值为空;它支持线程的同步,即任一时刻只有一个线程能写Hashtable,因此也导致了Hashtable在写入时会比较慢。
LinkedHashMap保存了记录的插入顺序,在用Iterator遍历LinkedHashMap时,先得到的记录肯定是先插入的。
在遍历的时候会比HashMap慢TreeMap能够把它保存的记录根据键排序,默认是按升序排序,也可以指定排序的比较器。当用Iterator遍历TreeMap时,得到的记录是排过序的
五、如何定义一个线程安全的List?
六、Override,Overload区别,Overloaded的方法是否可以使用不同的返回值类型?
1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;
3、覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;
4、被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。
4、对于继承来说,如果某一方法在父类中是访问权限是priavte,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果。
七、单例类如何控制线程安全?
private static Single2 instance = new Single2();
System.out.println("Single2: " + System.nanoTime());
public static Single2 getInstance(){
第二种:懒汉模式 (如果方法没有synchronized,则线程不安全)
private static Single3 instance = null;
System.out.println("Single3: " + System.nanoTime());
public static synchronized Single3 getInstance(){
第三种:懒汉模式改良版(线程安全,使用了double-check,即check-加锁-check,目的是为了减少同步的开销)
private volatile static Single4 instance = null;
System.out.println("Single4: " + System.nanoTime());
public static Single4 getInstance(){
synchronized (Single4.class) {
第四种:利用私有的内部工厂类(线程安全,内部类也可以换成内部接口,不过工厂类变量的作用域要改为public了。)
System.out.println("Singleton: " + System.nanoTime());
public static Singleton getInstance(){
return SingletonFactory.singletonInstance;
private static class SingletonFactory{
private static Singleton singletonInstance = new Singleton();
八、泛型中<Object>和<?>有什么区别?
List<?> list 可以赋值任何类型,但是不能添加具体的类型
List<Object> list 只能赋值List<Object>,但是可以添加任何类型 这个也可以更改其他类型 就可以看出具体区别
List<? extends Object> list 与 List<?> list没区别
九、yield和join的用法?
Yield告诉当前正在执行的线程把运行机会交给线程池中拥有相同优先级的线程。
Yield不能保证使得当前正在运行的线程迅速转换到可运行的状态
它仅能使一个线程从运行状态转到可运行状态,而不是等待或阻塞状态
线程实例的方法join()方法可以使得一个线程在另一个线程结束后再执行。如果join()方法在一个线程实例上调用,当前运行着的线程将阻塞直到这个线程实例完成了执行。
十、final如何使用?
1. 修饰基础数据成员的final。被修饰的成员变量不可改变;
当一个类被修饰为final时,它的含义很明确,就是不允许该类被继承,也就是说,该类“绝后”了,任何继承它的操作都会以编译错误告终。这也凸显出Java用final而不用const作为标识符的理由。
十一、final、finally、finalize的区别?
十二、 Java中byte占多少字节?
十三、OutOfmemoryErrror;permGen space.是指的Jvm内存的那块不足?设置-xmx是否可以有效解决问题,如果不行,您觉得应该怎么设置?
可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap的大小是Young Generation 和Tenured Generaion 之和。
在JVM中如果98%的时间是用于GC,且可用的Heapsize 不足2%的时候将抛出此异常信息。
解决方法: 手动设置MaxPermSize大小如果要在myeclipse中启动tomcat,上述的修改就不起作用了,可如下设置:
Myeclipse->preferences->myeclipse->servers->tomcat->tomcat×.×->JDK面板中的
Optional Java VM arguments中添加:-Xms256m -Xmx512m -XX:PermSize=64M-XX:MaxPermSize=128m
十四、举例您常用的JVM内存调优的工具,聊聊您对内存调优,GC等方面的想法和感悟。
结合jvm和代码,避免产生频繁的gc,尤其是full GC
合理设置各个代的大小。避免新生代设置过小(不够用,经常minor gc并进入老年代)以及过大(会产生碎片),同样也要避免Survivor设置过大和过小。
jvm启动参数配置-XX:+PrintGCDetails-XX:+PrintGCDateStamps -Xloggc:[log_path],以记录gc日志,便于排查问题。
考虑使用异步写入代替同步写入,可以借鉴redis的aof机制。
和文件IO类似,使用异步IO、多路复用IO/事件驱动IO代替同步阻塞IO
十五、JVM运行时分区结构?静态函数在什么区?
十六,在JAVA中是否存在内存泄漏?为什么?
JAVA框架问题:
一、简述spring中的factorybean和beanfactory的区别?
二、简述SpringIOC的理解;
就是由IOC容器来创建对象,不需要我们去创建,我们只要告诉ioc容器我们需求什么样的对象就可以了。
三、spring的单例和普通的有何区别?
四、说说mybatis和hibernate的使用场合
1 Hibernate : 标准的ORM(对象关系映射) 框架;
应用场景: 试用需求,变化固定中小型项目;ERP,ORM,OA
2 mybatis: 程序员自己编写sql, sql 修改,优化比较自由。
mybatis 是一个不完全的ORM 框架(部分), mybatis 存在
应用场景: 除了hibernate 的场景,主要应用需求项目较多的场景,
希望对象的持久化对应用程序完全透明是,不适合使用mybatis
据库有移植需求或需要支持多种数据库时,不适合使用mybatis
HttpClient
特点
高效稳定,但是维护成本高昂,故android开发团队不愿意在维护该库而是转投更为轻便的HttpUrlConnection
五、用过哪些xml解析工具,了解他们的实现吗?
六、如何使用hibernate和jdbc在同一个事务中使用
七、web service如何处理事务。
WEB问题:
一、https默认端口是?
HTTPS(securelytransferring web pages)服务器,默认的端口号为443/tcp 443/udp;
二、cookie和session的区别?在客户端禁用了cookie的情况下,如何维护session
a、cookie数据存放在客户的浏览器上,session数据放在服务器上。
b、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
c、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
d、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
假定用户关闭Cookie的情况下使用Session,其实现途径有以下几种:
1》 设置php.ini配置文件中的“session.use_trans_sid = 1”,或者编译时打开打开了“--enable-trans-sid”选项,让PHP自动跨页传递Session ID。
2》 手动通过URL传值、隐藏表单传递Session ID。
3》 用文件、数据库等形式保存Session ID,在跨页过程中手动调用。
三、常见的http的状态码,及其含义。
- 1XX Informational(信息性状态码)
- 2XX Success(成功状态码)
- 3XX Redirection(重定向状态码)
- 4XX Client Error(客户端错误状态码)
- 5XX Server Error(服务器错误状态码)
数据库知识:
oracle数据库如何清理重复数据
oracle的事务隔离级别都有哪些,和Mysql有什么区别,分别如何实现序列化?
如何对tcp服务器压力测试?
Linux命令:
ps -ef grep httpd wc -l
单元测试有哪些?有什么体会
Junit。体会就是自己新建一个测试类,可以测试部分写完的代码,不用启动服务器
设计一个程序,完成100000000个随机数的排序?
字符串 “12345678”表示为asc16进制如何表示?
逻辑题:
一家珠宝店的珠宝被盗,经查可以肯定是甲、乙、丙、丁中的某一个人所为
审讯中,甲说:“我不是罪犯。”乙说:“丁是罪犯。”丙说:“乙是罪犯。”丁说:“我不是罪犯。”经调查证实四人中只有一个人说的是真话。
根据已知条件,下列哪个判断为真?
假设甲说的是真的,那么甲不是罪犯。乙说的就是假的,他说丁是罪犯,则丁不是罪犯,而丁说的也应该是假的,丁说他不是罪犯,则他是罪犯,互相矛盾,假设不成立。假设乙说的是真的,那么丁是罪犯,甲说的应该是假的,他说我不是罪犯,则甲是罪犯,矛盾,假设不成立。假设丙说的是真的,则乙是罪犯,甲说的应该是假的,他说我不是罪犯,则甲是罪犯,矛盾,假设不成立。假设丁说的是真的,则丁不是罪犯,其他三人说的都是假的,甲说不是罪犯,则甲是罪犯,符合,乙说丁是罪犯,丁不是罪犯,符合,丙说乙是罪犯,乙不是罪犯,符合。
Java朗致集团面试题相关推荐
- 医药行业大拼杀 小药药、药聚汇、朗致集团医药、同仁堂,模式对比
医药行业大拼杀 小药药.药聚汇.朗致集团医药.同仁堂,模式对比 目前这个行业急剧增长,小药药凭借极强的运营决策和政策红利,迅速崛起成为行业独角兽,先后在全国大部分省市取得医药GSP牌照,其研发的 ...
- 08年朗讯(青岛)笔试题
08年11月11日南京区朗讯(青岛)笔试题 第一部分:智力题. 1.兔子繁殖--斐波那契数列. 2.数据推理题. 3.抓球. 第二部分:技术题 一.C++ 1.写出输出结果. int main() { ...
- java能应聘哪些职位_应聘java专员职位的面试题
面试对于一些刁钻问题的回答技巧事关你是否适合留下来的关键.那关于java专员的面试题有哪些呢?下面是学习啦小编为你整理的应聘java专员职位的一些面试题,希望对你有帮助. java专员的面试题 1.I ...
- java的异常机制面试题(转)
java的异常机制面试题(转) 参考文章: (1)java的异常机制面试题(转) (2)https://www.cnblogs.com/ffaiss/p/11434639.html 备忘一下.
- Java每天5道面试题,跟我走,offer有!(八)
2019独角兽企业重金招聘Python工程师标准>>> 76.XML技术的作用? XML技术用于数据存储. 信息配置. 数据交换三方面. 可以将数据存储在XML中, 通过节点. 元素 ...
- 经典java程序员的面试题及答案
今天动力节点java培训机构小编为大家分享"经典java程序员的面试题及答案",希望通过此文能够帮助到正在找工作或是即将毕业的"你",下面就随小编一起看看经典j ...
- 大学生java考试题库6_《JAVA程序设计》期末考试试题_(六)
<JAVA程序设计>期末考试试题 (六) 一.填空题 1.定义类的保留字是( class ),定义接口的保留字是( interface ). 2.Socket通常也称为 ( 套接字 ),用 ...
- java ibatis 获取执行的sql_小程序官宣+JAVA 三大框架基础面试题
每天给你诚意满满的干货 虽然每天都会写代码,但编程语言里有太多知识点,许多知识长时间不用就会忘记,在我们要去参加面试或是其它一些场景下,需要做些题来查缺补漏.我在搜索过程中发现没有太好的刷题小程序,所 ...
- Java 集合容器篇面试题(上)-王者笔记《收藏版》
前期推荐阅读: Java基础知识学习总结(上) Java 基础知识学习总结(下) 大学生一个暑假学会5个神仙赚钱技能 | 你学会了几个? 毕设/私活/大佬必备,一个挣钱的开源前后端分离脚手架 目录 一 ...
最新文章
- netstat常用命令
- 第九章、文件与文件系统的压缩与打包 3. 打包命令: tar
- kafka 、 zookeeper 集群(一)
- [svn] linux 下svn服务器的搭建
- 《流浪地球》虽好,却存在一个不可回避的硬伤!
- 攻防世界-web-ics-04-从0到1的解题历程writeup
- SAP CRM和C4C数据同步的两种方式概述:SAP PI和HCI
- mysql如何定位耗时较长的sql_Mysql实例mysql优化之定位效率较低的SQL
- 归一化处理公式_数学建模中的数据处理——归一化处理
- 读书笔记:Sheldon Ross:概率论基础教程:随机变量
- 绿联网卡转接mac设置_苹果中文系统USB外置网卡驱动安装方法
- 计算机报名照片在线修图,网上报名照片处理工具
- 写一篇简单的 IEEE 会议论文
- w ndows键是哪一个,Windows键是哪个 电脑上的Win键在哪?【图文】
- 烟花绽放c语言程序设计摘要,描写烟花绽放的优美句子
- NLP入门学习3——句法分析(基于LTP4)
- ZOC7 for Mac(终端模拟器)
- 最强整理:阿里云大师深入拆解Java虚拟机,经典好文
- 《es6标准入门》 阮一峰
- 埃博拉病毒的实验室症断
热门文章
- C-CAPM模型(下)
- Flutter网络请求关闭Loading对话框
- 【超市选址】开店选址必备手册
- 从苏宁电器到卡巴斯基第04篇:我的本科时光(补)
- Android基础入门教程——8.3.18 Canvas API详解(Part 3)Matrix和drawBitmapMash
- 调用华为云GES服务业务面API相关参数的获取
- 技术文摘13 郑钧 泰岳 技术 资料 源码 UI tinypng 保质压缩 github 大神 高仿 VVDocumenter-Xcode 工具 唐巧...
- SV TechClub 第四届 美女与野兽 2019区块链游戏黑客马拉松
- DNS 缓存、CDN 缓存、浏览器缓存,JVM DNS 缓存详解
- 微信软件服务器在那个国家,安道尔究竟是什么地方?为什么2000万中国人微信地址都选在安道尔...