面试相关
文章平均质量分 73
互联网常见面试题
毕富国
这个作者很懒,什么都没留下…
展开
-
Java 之 23 种设计模式解析——概述、六大原则
题目:Java 之 23 种设计模式解析一、设计模式概述总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模...原创 2018-08-05 15:20:37 · 1022 阅读 · 0 评论 -
java概述_练习&面试题
java概述_练习&面试题GC是什么? 为什么要有GC答:GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。-----------------...原创 2018-08-06 11:43:23 · 676 阅读 · 0 评论 -
基本语法1-运算符_练习&面试题
写出输出的结果.//考查运算符的优先级class Demo{ public static void main(String[] args){ int x=0,y=1; if(++x==y-- & x++==1||--y==0) System.out.println("x="+x+",y="+y);//x = 2,y = 0...原创 2018-08-08 10:51:28 · 349 阅读 · 0 评论 -
基本语法2-流程控制_练习&面试题
写出结果。class Demo{ public static void main(String[] args) { int m=0,n=3; if(m>0) if(n>2) System.out.println("A"); else ...原创 2018-08-08 10:52:02 · 335 阅读 · 0 评论 -
基本语法3-数组_练习&面试题
java能动态分配数组吗? 答:可以。int i = 12;int[] myInt = new int[i];---------------------------------------------------我怎么知道数组的长度?.length属性获取---------------------------------------------------数组有没有length()...原创 2018-08-08 10:52:29 · 688 阅读 · 0 评论 -
几张图轻松理解String.intern()
在翻《深入理解Java虚拟机》的书时,又看到了2-7的 String.intern()返回引用的测试。 其实要搞明白String.intern(),我总结了下面几条规则: 一、new String都是在堆上创建字符串对象。当调用 intern() 方法时,编译器会将字符串添加到常量池中(stringTable维护),并返回指向该常量的引用。 二、通过字面量赋值创建字符串(如:Strin...转载 2018-08-08 16:29:25 · 129 阅读 · 0 评论 -
高级类特性1_练习&面试题
java类是否可以多继承,怎么实现多继承?答:java没有多继承,但可以通过接口的形式来达到多继承的目地。--------------------------------------------------我比较两个String总是false,但是它们明明都是"abc" ! 答:比较String一定要使用equals或equalsIgnoreCase方法,不要使用 == ! ==...原创 2018-08-09 10:43:15 · 364 阅读 · 0 评论 -
高级类特性2_练习&面试题
abstract class 和interface 有什么区别? 【基础】答:声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstra...原创 2018-08-09 17:30:31 · 210 阅读 · 0 评论 -
面向对象编程_练习&面试题
哪个选项和show函数重载class Demo{ void show(int a,int b,float c){}}A.void show(int a,float c,int b){}//yesB,void show(int a,int b,float c){}//一模一样。不可以出现在同一个类中。C.int show(int a,float c,int b){return...原创 2018-08-09 19:55:43 · 1484 阅读 · 0 评论 -
23种设计模式-单例模式:
23种设计模式单例模式:解决的问题:如何只让设计的类只能创建一个对象如何实现:饿汉式 & 懒汉式//饿汉式1class Bank{ //1.私有化构造器 private Bank(){} //2.创建类的对象,同时设置为private的,通过公共的来调用,体现封装性 //4.要求此对象也为static的 private static ...原创 2018-08-04 18:40:22 · 228 阅读 · 0 评论 -
2018最新Web前端经典面试试题及答案 JavaScript面试题
javascript: JavaScript中如何检测一个变量是一个String类型?请写出函数实现typeof(obj) === "string"typeof obj === "string"obj.constructor === String请用js去除字符串空格?方法一:使用replace正则匹配的方法去除所有空格: str = str.replace(/\s*/g...原创 2018-08-04 21:49:11 · 39507 阅读 · 5 评论 -
求1000以内的完全数
求1000以内的完全数若一个自然数,恰好与除去它本身以外的一切因数的和相等,这种数叫做完全数。例如,6=1+2+328=1+2+4+7+14496=1+2+4+8+16+31+62+124先计算所选取的整数a(a的取值1~1000)的因数,将各因数累加于m,若m等于a,则可确认a为完全数public class Perfect { public void perfect(int ...原创 2018-08-02 08:58:06 · 9830 阅读 · 1 评论 -
选择排序
选择排序:在要排序的一组数中,选出最小的一个数与第一个位置的数交换;然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。import java.util.Arrays;public class Selection { public int[] selection(int array[]) { for(int i=0;i<array...原创 2018-08-02 10:14:27 · 308 阅读 · 0 评论 -
面试题 经典算法 冒泡排序
冒泡排序:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。Bubble.javaimport java.util.Arrays;public class Bubble { public int[] bubble(int[] arr...原创 2018-08-02 10:37:49 · 755 阅读 · 0 评论 -
插入排序
插入排序排序过程的某一中间时刻,数组R被划分成两个子区间R[1..i-1](已排好序的有序区)和R[i..n](当前未排序的部分,可称无序区)。插入排序的基本操作是将当前无序区的第1个记录R[i]插人到有序区R[1..i-1]中适当的位置上,使R[1..i]变为新的有序区。因为这种方法每次使有序区增加1个记录,通常称增量法。插入排序与打扑克时整理手上的牌非常类似。摸来的第1张牌无须整理...原创 2018-08-02 11:20:06 · 141 阅读 · 0 评论 -
15个变态的Google面试题以及答案
在当前经济形势不景气的情况下,谷歌招聘新员工是一件令人振奋的事,特别是对那些在当前金融风暴中渴望找到安全港的年轻经理们和软件开发商们来说是个好消息。 不过,也不要高兴太早,谷歌在招聘新员工时,更加青睐名牌大学的学生,即便你是人到中年,招聘时谷歌也会看你的大学平均成绩。 谷歌需要的是那些有志改变世界的具有远大抱负的人才。不仅如此,即便是你达到了它们所有的这些要求,你还必须通过谷歌...转载 2018-07-31 09:57:55 · 780 阅读 · 0 评论 -
以二进制形式输出一个十进制数 利用for循环和移位以及&运算
以二进制形式输出一个十进制数利用for循环和移位以及&运算 import java.util.Scanner;public class ToBinary { private int number; public void setNumber(int number) { this.number=number; } public int getNumber() {...原创 2018-08-01 11:31:27 · 1402 阅读 · 0 评论 -
写LoopTest.java, 分别使用while/do/for循环实现1x2x...x10。
写LoopTest.java,分别使用while/do/for循环实现1x2x...x10。public class LoopTest { public void whileTest(){ int i =1; while(i<10) { System.out.print(i+"X"); i++; } System.out.println(i); } ...原创 2018-08-01 11:32:59 · 1038 阅读 · 0 评论 -
创建一个阶乘应用程序Factor.java 功能:一个数X 的阶乘(通常记作X!)等于X*(X-1)*(X-2)*.....*1。例如4!等于4×3×2×1=24。
创建一个阶乘应用程序Factor.java功能:一个数X 的阶乘(通常记作X!)等于X*(X-1)*(X-2)*.....*1。例如4!等于4×3×2×1=24。public class Factor { public void factor(int num) { int sum = 1; for(int i=num;i>0;i--) { sum*=i; } ...原创 2018-08-01 11:34:25 · 1552 阅读 · 0 评论 -
打印出四种形式的九九乘法表
1、System.out.println()的功能为输出+换行 System.out.print()的功能为输出2、在适当的位置可以使用'\t'进行对齐操作3、注意类似于1*1= 1的式子的等号后面是有空格的 类似于2*9=18的式子的等号后面是没有空格的,目的是让它们对齐看起来美观形式1:1*1= 11*2= 2 2*2= 41*3= 3 2*3= 6 3*3=...原创 2018-08-01 11:39:19 · 7004 阅读 · 0 评论 -
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。public class Digit { public void digit() { int count=0; for (int i = 1; i <= 4; i++) { f...原创 2018-08-01 11:45:31 · 1200 阅读 · 0 评论 -
判断101-200之间有多少个素数,并输出所有素数。 只能被1和它本身整除的自然数为素数(质数)
判断101-200之间有多少个素数,并输出所有素数。只能被1和它本身整除的自然数为素数(质数)public class Prime { public void prime(int m,int n) { int count=0; for(;m<n;m++) { boolean isPrime=true; for(int i=2;i<Math.sqrt(m);...原创 2018-08-01 11:49:10 · 3593 阅读 · 1 评论 -
打印出所有的“水仙花数”
public class Flower { public void flower() { for(int i=100;i<1000;i++) { if(i==Math.pow(i/100, 3)+Math.pow(i%100, 3)+Math.pow((i/10)%10, 3)) { System.out.println(i); } } } public ...原创 2018-08-01 11:50:10 · 516 阅读 · 0 评论 -
将一个正整数分解质因数
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。对n进行分解质因数,应先找到一个最小的质数i,然后按下述步骤完成: a)如果这个质数恰等于n,则说明分解质因数的过程已经结束, 打印出即可。 b) 如果n不等于i,i能被n整除,则应打印出i的值, 并用n除以i的商,作为新的正整数n,重复执行第一步。 提示:如果一个自然数能写成两个自然...原创 2018-08-01 11:51:34 · 12409 阅读 · 0 评论 -
求任意两个正整数的最大公约数和(GCD)和最小公倍数(LCM)
求任意两个正整数的最大公约数和(GCD)和最小公倍数(LCM)辗转相除法的算法为:首先将 m除以 n(m>n)得余数 r,再用余数 r 去除原来的除数,得新的余数,重复此过程直到余数为 0时停止,此时的除数就是m 和 n的最大公约数。 求 m和 n的最小公倍数: m和 n的积除以(m和 n 的最大公约数)。public class GcdLcm { public void...原创 2018-08-01 11:52:24 · 7258 阅读 · 0 评论 -
【面试】交换两个数的三种方式
交换两个数的三种方式方法一:提供一个临时变量。 temp=m; m=n; n=temp;方法二:先将两个数加在一起 m=m+n; n=m-n; m=m-n; 当m和n较大时,有可能出现精度失准方法三:采用异或算法 m=m^n; ...原创 2018-07-22 18:28:29 · 332 阅读 · 0 评论 -
将一个数转换为16进制,不使用系统库函数
import java.util.Scanner;public class to16 { public static void main(String[] args) { //将一个数转换为16进制 Scanner s=new Scanner(System.in); System.out.println("请输入一个整数:"); int i=s.nextInt...原创 2018-07-24 20:30:26 · 642 阅读 · 0 评论 -
将字符串转化为整数(不使用库函数)
题目描述输入一个由数字组成的字符串,把它转换成整数并输出。例如:输入字符串”123”,输出整数123。给定函数原型int StrToInt(String str) ,实现字符串转换成整数的功能,不能使用库函数 Integer.parseInt(str);分析与解法本题考查的实际上就是字符串转换成整数的问题,或者说是要你自行实现atoi函数。那如何实现把表示整数的字符串正确地转换成整...原创 2018-07-27 16:52:08 · 15465 阅读 · 3 评论 -
方法的重载与重写的区别?
1.方法的重写(override orverwrite) vs 重载(overload)【面试题】方法的重载与重写的区别?重载:“两同一不同”:同一个类,同一个方法名,不同的参数列表。 注:方法的重载与方法的返回值无关! >构造器是可以重载的重写:(前提:在继承的基础之上,子类在获取了父类的结构以后,可以对父类中同名的方法进行“重构”) 方法...原创 2018-07-29 14:22:08 · 260 阅读 · 0 评论 -
JavaScript中的this
this(上下文对象)- 我们每次调用函数时,解析器都会将一个上下文对象作为隐含的参数传递进函数。使用this来引用上下文对象,根据函数的调用形式不同,this的值也不同。- this的不同的情况:1.以函数的形式调用时,this是window2.以方法的形式调用时,this是调用方法的对象3.以构造函数的形式调用时,this是新建的那个对象4.使用call和apply...原创 2018-07-30 10:56:35 · 150 阅读 · 0 评论