凹数科技笔试

一、Java

1、成员变量作用域public/protected/defaultprivate/区别?

public:该成员变量或其方法对当前类、同一包、子类、其他包都可见,所有类和对象都可以直接访问。

protected:该成员变量或其方法对当前类、同一包、子类都可见。

default:该成员变量或其方法对当前类、同一包可见,子类与该成员变量所在的父类位于同一包,子类可以访问,否则不能。

private:该成员变量或其方法只对当前类可见。

2、Override(覆盖)和Overload(重载)区别?

重载和覆盖是Java多态性的不同表现方式。

覆盖是子类函数覆盖基类函数,覆盖一个方法并对其重写以达到不同的作用。

Note:

  • 子类中的覆盖方法必须父类中被覆盖的方法有相同的函数名和参数。
  • 子类中覆盖方法的返回值必须和父类中被覆盖方法的返回值相同。
  • 子类中覆盖方法所抛出的异常类必须和父类中被覆盖方法相同。
  • 父类中被覆盖方法不能为private,负责子类只是定义了一个新方法而不是覆盖。

重载是通过不同的参数列表来区分,如不同的参数个数,参数类型,参数顺序。

Note:

  • 不能通过方法的访问权限、返回值类型,抛出异常类型来区分重载。
  • 对于继承来说,如果父类方法的访问权限为private,就不能在子类中对其重载,只是新定义的一个方法。

覆盖与重载的区别:

1)Override是子类与父类之间的关系,是垂直关系;Overload 是同一个类中方法之间的关系,是水平关系。

2)覆盖关系中,是根据对象的类型决定调用哪个方法(父类或子类的);重载是根据参数列表的不同决定调用哪个方法。

3)覆盖要求参数列表相同,重载不同。

4)覆盖只能由一个方法或由一对方法产生关系;重载是多个方法之间的关系。

3、ArrayList与Vector区别?

均在java.util包中,均为可伸缩数组,可以动态改变长度。两者都是基于存储元素的Object[] array实现的,在内存中开辟连续的空间来存储,支持用下标访问。ArrayList和Vector都有一个初始化的容量大小,当超过时,Vector默认扩充为原来的2倍,ArrayList默认扩充为原来的1.5倍。

最大区别:同步( synchronization)的使用,ArrayList的方法都不是同步的,Vector的大部分方法是同步的(add/insert/remove等)。Vector是线程安全的,提供了线程安全机制,因此其性能上要略逊于ArrayList;ArrayList不是线程安全的

4、HahMap与HashTable区别?(待补充)

5、类加载器class loader加载类的步骤?Java提供的类加载器有?

见(Tanks):http://blog.csdn.net/gjanyanlig/article/details/6818655

6、阅读程序填空,输出,有关Java程序初始化顺序(static、构造函数)

二、数据结构

7、给出前序遍历判断不可能的中序顺序。

8、邻接表,给出邻接表写出深度优先广度优先,伪代码

见(Tanks):https://segmentfault.com/a/1190000002685939

三、操作系统

9、临界区、互斥量、信号量、事件概念,Java中怎么实现?

见(Thanks):http://blog.csdn.net/vividonly/article/details/6415748  Java中怎么实现?(待解决)

10、进程调度算法有?区别?适用场合?

11、进程的状态有?三个基本状态:运行、就绪、阻塞 。见:http://blog.sina.com.cn/s/blog_7c03bb1f0100wcco.html

12、进程的数据结构?

13、实现复数Complex类,支持加减

public class ComplexDemo { // main方法 public static void main(String[] a) { Complex b = new Complex(2, 5); Complex c = new Complex(3, -4); System.out.println(b + "+" + c + "=" + b.add(c)); System.out.println(b + "-" + c + "=" + b.minus(c)); System.out.println(b + "*" + c + "=" + b.multiply(c)); System.out.println(b + "/" + c + "=" + b.divide(c)); } 
} // Complex类 
class Complex { private double m;// 实部 private double n;// 虚部 public Complex(double m, double n) { this.m = m; this.n = n; } // add public Complex add(Complex c) { return new Complex(m + c.m, n + c.n); } // minus public Complex minus(Complex c) { return new Complex(m - c.m, n - c.n); } // multiply public Complex multiply(Complex c) { return new Complex(m * c.m - n * c.n, m * c.n + n * c.m); } // divide public Complex divide(Complex c) { double d = Math.sqrt(c.m * c.m) + Math.sqrt(c.n * c.n); return new Complex((m * c.m + n * c.n) / d, Math.round((m * c.n - n * c.m) / d)); } public String toString() { String rtr_str = ""; if (n > 0) rtr_str = "(" + m + "+" + n + "i" + ")"; if (n == 0) rtr_str = "(" + m + ")"; if (n < 0) rtr_str = "(" + m + n + "i" + ")"; return rtr_str; } 
}
运行结果:

13、编程:线程A不断向队列Queue写数据,线程B不断向队列Queue读数据。

已上传至GitHub:https://github.com/HiSunny/InterviewXianChengQue

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348763.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上传至GitHub

在工作目录下&#xff1a; git init git status git add . git commit -m"IndoorLocation" git status git remote add origin githttps://github.com/HiSunny/HelloInLoc.git git pull https://github.com/HiSunny/HelloInLoc.git master git push https://…

Activity的LaunchMode和taskAffinity

Thanks to:http://www.cnblogs.com/SteveMing/archive/2012/04/24/2459575.html 【原】Activity的LaunchMode和taskAffinity 做项目到现在都一直没有理解LaunchMode有什么用&#xff0c;或许根本就没真正花心思去看&#xff0c;所以今天把这部分整理下。 设置Activity的Launc…

gradle spring_使用Gradle的简单Spring MVC Web应用程序

gradle spring除了我们现在将使用Spring MVC而不是原始servlet之外&#xff0c;该文章将与我们之前的文章Simple Gradle Web Application相似。 使用Gradle运行基本的Spring MVC应用程序确实很容易。 您可以在Github上下载本教程的源代码。 先决条件 安装Gradle 我们的基本项…

绘制Nine-Patch图片

Android sdk----->tools----->draw9patch.bat 打开draw9patch.bat文件 File--》open 0-patch将要绘制的.png图片加载进来 ctrl 图片边缘点击鼠标左键 绘制出线条&#xff0c;表示图片需要被拉伸的部分 File--save 9-patch 文件名pp.9.png。

jms spring_JMS和Spring:有时很重要的小事情

jms springJmsTemplate和DefaultMessageListenerContainer是用于访问JMS兼容MOM的Spring帮助器。 他们的主要目标是在JMS API之上形成一层&#xff0c;并处理诸如事务管理/消息确认之类的基础结构&#xff0c;并隐藏JMS API的某些重复和笨拙的部分&#xff08;保留在那里&#…

重温1 Android系统架构及版本

1、Linux内核层(Linux Kernel) 为Android设备的各种硬件提供了底层驱动&#xff0c;Display Driver/Camera Driver/Bluetooth Driver/Flash Memory Driver/Binder(IPC)Driver/USB Driver/Keypad Driver/WiFi Driver/Audio Drivers/Power Management 2、Libraries/Android Run…

REST资源何时应获得其自己的地址?

在纯粹的REST方法中&#xff0c;所有端点&#xff08;起始端点除外&#xff09;都是不透明的&#xff0c;不需要发布其各种详细信息。 即使使用这种方法&#xff0c;本文中的要点也很重要&#xff0c;因为服务器逻辑将必须确定何时需要结束点。 介绍 在REST体系结构中&#xf…

重温2 在Activity中使用Menu

1、引用string.xml中的字符串 1) 代码中 R.string.hello_world 2) XML中string/hello_world 2、AndroidManifest <activityandroid:name".MainActivity"android:label"string/app_name" ><intent-filter><action android:name"andr…

玩转大数据22:常见的关联规则挖掘算法

引言 关联规则挖掘是数据挖掘中的一种重要技术&#xff0c;主要用于发现数据集中项之间的有趣关系。关联规则挖掘在许多领域都有广泛的应用&#xff0c;如市场篮子分析、推荐系统等。常见的关联规则挖掘算法包括Apriori算法和FP-Growth算法。 一、Apriori算法 关联规则挖掘是…

Java 9:欢迎来到Module World

Java 9已于9月21日正式发布&#xff0c;Eclipse从Eclipse Oxygen.1a&#xff08;4.7.1a&#xff09;支持Java 9&#xff0c;让我们进入模块世界。 从此处下载Java 9&#xff0c;然后将其添加到Eclipse Installed JRE中&#xff0c;如下所示 就是这样&#xff0c;我们很高兴在…

重温5 UI开发

public class TextView extends View implements ViewTreeObserver.OnPreDrawListenerjava.lang.Object ↳android.view.View ↳android.widget.TextView Known Direct Subclasses Button,CheckedTextView,Chronometer,DigitalClock,EditText,TextClockButtonRepresents a…

JWT令牌的秘密轮换

当您使用JSON Web令牌 &#xff08; JWT &#xff09;或需要对有效载荷信息进行签名或加密的任何其他令牌技术时&#xff0c;设置令牌的到期日期很重要&#xff0c;因此&#xff0c;如果令牌到期&#xff0c;则可以假定这可能被视为安全漏洞&#xff0c;您拒绝使用此令牌进行任…

重温6 ListView相关|单位dp/sp

dp:密度无关像素。 sp&#xff1a;可伸缩像素。解决文字大小适配问题。 密度&#xff1a;Android中的密度即屏幕每英寸所包含的像素数&#xff0c;通常以dpi为单位&#xff0c;例如一个宽2英寸长3英寸手机屏幕&#xff0c;若分辨率为320*480&#xff0c;则屏幕密度为320dpi。…

wso2 esb_通过运行示例从WSO2 ESB开始

wso2 esb我最近加入了一个新任务&#xff0c;我们必须基于WSO2工具栈实施ESB解决方案。 尽管我熟悉ESB的大多数概念以及其他一些实现&#xff08;例如Mule ESB &#xff09;&#xff0c;但这是我第一次必须使用WSO2 ESB 。 幸运的是&#xff0c;有很多文档可以找到&#xff0c;…

持久化技术SharedPreferences存储

public interface SharedPreferences android.content.SharedPreferences Class Overview Interface for accessing and modifying preference data returned by getSharedPreferences(String, int). 1、调用SharedPreferences对象的edit()方法获得SharedPreferences.Editor对象…

我们相信加密! 教程

许多人认为加密是一个复杂的主题&#xff0c;这很难理解。 虽然可以实现它的某些方面&#xff0c;但是每个人都可以理解它在更高层次上的工作方式。 这就是我要处理的这篇文章。 用简单的术语解释它是如何工作的&#xff0c;然后使用一些代码。 是的&#xff0c;我们信任加密…

使用Http协议访问网络--HttpURLConnection

public abstract classHttpURLConnection extends URLConnectionjava.lang.Object ↳java.net.URLConnection ↳java.net.HttpURLConnection 1、获取HttpURLConnection实例Protected ConstructorsHttpURLConnection(URL url)Constructs a new HttpURLConnection instance …

Spring Cloud –基本设置

Spring Cloud解决了分布式系统的常见问题。 但是&#xff0c;对于只使用广为人知的整体应用程序工作的人来说&#xff0c;从一开始就跳入一长串为分布式服务设计的模式可能会让人不知所措。 本文将通过实用的方法为您介绍Spring Cloud的基础知识。 完成后&#xff0c;您不仅应该…

Eclipse中的Tomcat:6个流行的“如何做”问题

学习新技术总是一个艰难的过程。 当您尝试学习将要相互交互的两种技术时&#xff0c;此过程变得更加困难。 Tomcat和Eclipse是Java EE开发中最流行的先决条件之一。 因此&#xff0c;要成为一名专业的开发人员&#xff0c;您需要知道如何使用此对执行最需要的操作以及如何进行一…