
校招/面试题/面经
文章平均质量分 85
面试题记录
此生辽阔
这个作者很懒,什么都没留下…
展开
-
面试题整理--基础部分
1 解释一下java的特性,封装继承多态2:Java和C++的区别原创 2021-10-31 22:22:03 · 319 阅读 · 0 评论 -
找实习经历分享(二)
3月5日阿里电话面试1:自我介绍2:原创 2021-03-06 10:19:13 · 142 阅读 · 0 评论 -
找实习经历分享(一)
实习还是尽量想找大厂,找一个朋友内推字节跳动,但是简历关没有过,她建议我修改简历,投中厂。我是在BOSS直聘上面投递的简历,主要是后端开发,看到是java实习我就给HR打招呼2.22主要搜了阿里,百度,腾讯的java后端实习,阿里的HR回复比较快,会找我要简历,或者加微信,他们告诉我2月份是人才储备阶段,3月初会正式开启招聘通道,届时会收到阿里招聘邮件,确认我们部门的邮件后,就会自动发起应聘。百度,腾讯的HR基本没有理我下午4点有一个软牛科技的面试...原创 2021-03-02 18:40:27 · 549 阅读 · 0 评论 -
为什么重写了equals()还要重写hashcode()?
我所了解的应用场景是当我们写了一个类,如果要使用这个类的对象作为hashmap或者hashset的key值的话,那么我们需要重写这个类的equals方法和hashcode方法,阅读本文需要一些hashmap的源码分析能力自定义类先来自定义一个类userimport java.util.HashSet;/** * Created by 此生辽阔 on 2021/7/20 22:27 */public class testRewriteHashCode { public static v原创 2021-07-21 20:53:28 · 2007 阅读 · 1 评论 -
JVM面试之多的是我不知道的事
jvm中每调用一个方法就会生成一个栈帧,放在栈空间栈区分为虚拟机栈和本地栈虚拟机栈存储java方法的栈帧,本地栈存储native方法的栈帧程序计数器:存放每一个线程执行到了方法的哪一步,每个线程都有程序计数器程序计数器在jvm相当于记录指令的内存地址(指令执行到哪一步了)本地栈是没有程序计数器的,因为本地方法是C/C++的,java无法计数,程序计数器一直是0方法区:class类信息,静态变量,常量在jdk1.8之前,方法区是堆内的一块连续的区域在jdk1.8之后,方法区从jvm内存移出来了原创 2021-04-16 09:40:30 · 276 阅读 · 0 评论 -
Java基础面试题7:重载和重写的区别
面试你就这样答重载发生在一个类里面,方法名相同,参数列表不同(参数类型,个数、顺序不同),方法的返回值和修饰符可以不同,发生在编译时(就像下图,两个方法只有返回类型不一样,在编译时就会报错)重写发生在父类与子类之间,方法名相同,参数列表相同,返回值的范围小于等于父类,抛出的异常范围小于等于父类,访问修饰符范围大于等于父类,如果父类方法访问修饰符为private则子类不能重写该方法(因为都无法继承这个方法)重载重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回原创 2021-03-07 21:44:24 · 3470 阅读 · 1 评论 -
Java基础面试题6:String、StringBuffer、StringBuilder的区别及应用场景
转载于牛客大佬https://www.nowcoder.com/profile/6316247** String与StringBuffer的区别。AB**String是不可变的对象,StringBuffer是可以再编辑的字符串是常量,StringBuffer是变量String是可变的对象,StringBuffer是不可以再编辑的以上说法都不正确java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题原创 2020-12-23 15:08:23 · 376 阅读 · 0 评论 -
Java基础面试题5:final关键字
当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为final方法。当final修饰的方法表示此方法已经是“最后的、最终的”含义,亦即此方法不能被重写(可以重载多个final修饰的方法)。此处需要注意的一点是:因为重写的前提是子类可以从父类中继承此方法,如果父类中final修饰的方法同时访问控制权限为private,将会导致子类中不原创 2021-04-08 09:49:58 · 808 阅读 · 0 评论 -
Java基础面试题4:Java异常体系
异常是什么?异常就是在程序执行期间发生的打断指令正常执行流程的一个不期望出现的事件。在Java中,所有的错误和异常都继承自Throwable类。当一个方法内发生错误时,方法会创建一个对象,并把它传递给运行时系统。这个对象就被就做异常对象。异常对象包含着错误的详细信息,包括错误的类型和该错误发生时系统的状态。创建一个异常对象并把它传递给运行时系统就叫做抛出了一个异常(throwing an exception)。异常的处理当我们的应用创建出一个异常对象时,我们有两种方法来处理。要么我们在方法内处原创 2021-04-07 10:29:39 · 394 阅读 · 0 评论 -
Java基础面试题3:==和equals的区别
面试这么回答就可以 1)对于==,比较的是值是否相等如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;如果作用于引用类型的变量,则比较的是所指向的对象的地址 2)对于equals方法,注意:equals方法不能作用于基本数据类型的变量,equals继承Object类,比较的是是否是同一个对象如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容。——————.原创 2021-04-06 20:48:55 · 429 阅读 · 0 评论 -
Java基础面试题2:JDK、JRE、JVM的区别和联系
JDK:Java Develpment Kit java开发工具,是给开发人员用的,开发必须安装jdk,它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行时环境,以及常用的Java类库等。如果只是需要运行Java程序,那么安装JRE就可以了JRE:Java Runtime Environment java运行时环境,用于解释执行Java的字节码文件。提供给运行Java程序的用户来用的,谁需要运行Java程序就需要安装JREJVM:java Virtual Ma原创 2021-04-06 17:13:42 · 876 阅读 · 0 评论 -
Java基础面试题1:面向对象的思想
1:面向对象的思想面向过程更注重事情的每一个步骤及顺序,面向对象更注重事情有哪些参与者(对象)、及各自需要做什么比如:洗衣机洗衣服面向过程会将任务拆解成一系列的步骤(函数),1、打开洗衣机---->2、放衣服---->3、放洗衣粉----->4、清洗—–>5、烘干面向对象会拆出人和洗衣机两个对象:人:打开洗衣机放衣服放洗衣粉洗衣机:清洗│烘干从以上例子能看出,面向过程比较直接高效,而面向对象更易于复用、扩展和维护封装:封装的意义,在于明确标识出允许外部使用的所有成员函原创 2021-04-06 15:03:34 · 566 阅读 · 0 评论 -
长度为n的串最小可以被消成长度为多少的串
题目描述在消消乐游戏冲,有一个长度为n的仅有1~9这9个数字组成的串,如果相邻两个数之和为10,这这两个数可以彼此抵消,在原串中抹去。例如:串213792,第三个数3和其相邻的第4个数7两者之和为10,因此可以消去;原串变为2192,1和9之和为10,且相邻,则可以消去,最终变为22。求这个长度为n的串最小可以被消成长度为多少的串。输入输出描述第一行为串的长度第二行为串的值输出为消去后剩余的串的长度示例:61846290分析代码还有点粗糙,不过我已经改良几版了,也测原创 2021-04-04 22:30:55 · 613 阅读 · 0 评论 -
牛客:序列和
答题链接https://www.nowcoder.com/practice/46eb436eb6564a62b9f972160e1699c9?tab=answerKey题目描述给出一个正整数N和长度L,找出一段长度大于等于L的连续非负整数,他们的和恰好为N。答案可能有多个,我我们需要找出长度最小的那个。例如 N = 18 L = 2:5 + 6 + 7 = 183 + 4 + 5 + 6 = 18都是满足要求的,但是我们输出更短的 5 6 7解题思路我的思路是创建二维数组,利用动态规划的思原创 2021-03-31 21:11:18 · 294 阅读 · 1 评论 -
找实习经历分享(三)
3.8 腾讯视频面试应该是我在官网投的简历,这次面试凉凉的,腾讯应该不会有其他部门捞我了,哎,算法题也没有做出来,问的问题基本不会,面试官都没啥好问的了,,,不知道影不影响后面校招啊1:自我介绍2:问我擅长什么语言,我用java的时候面试官很惊讶,他表示,我不是应C++做的项目吗3:直接开始做面试题(期间我偏头看双屏,面试官叫我把双屏关了,低头画草稿,面试官叫我抬头,同时不能切换其他页面,面试官没开视频)有一种特殊的数组。该这个数组支持一种操作:每次操作可以把数组中一个数自增1。现在有一个长度原创 2021-03-22 11:32:33 · 295 阅读 · 0 评论 -
最少需要准备多少香蕉,能保证所有猴子都能吃饱
题目描述动物园有猴山,每天需要给猴子们发香蕉,猴子会排队依次取食。猴子们铺张浪费,会多拿食物,但最多不会拿超过自身食量的二倍且不会超过当前还存在的香蕉的一半,最后—个猴子除外(即最后—个猴子可以拿完剩余的所有香蕉)。最少需要准备多少香蕉,能保证所有猴子都能吃饱?解题思路先考虑只有一个猴子的情况,那么最少需要的香蕉数量即为这个猴子的食量如果有3个猴子,那么先让第一个猴子拿香蕉,假设它的食量为4,它最多可能拿8个香蕉,最少可能拿4个香蕉,因为题目是要求最少需要准备多少香蕉,我们假设这个猴子知足常乐,只原创 2021-03-21 13:40:45 · 2184 阅读 · 7 评论 -
面经
国企和银行:面试都问些啥?如何准备?原创 2020-08-25 11:17:50 · 172 阅读 · 0 评论 -
按照左右半区的方式重新组合单链表
给定一个单链表的头部节点 head,链表长度为 N,如果 N 是偶数,那么前 N / 2 个节点算作左半区,后 N / 2 个节点算作右半区;如果 N 为奇数,那么前 N / 2 个节点算作左半区,后 N / 2 + 1个节点算作右半区。左半区从左到右依次记为 L1->L2->…,右半区从左到右依次记为 R1->R2->…,请将单链表调整成 L1->R1->L2->R2->… 的形式。输入描述单链表的头节点 head。输出描述在给定的函数内返回链表的头原创 2021-03-13 00:00:01 · 176 阅读 · 1 评论 -
互联网公司笔试牛客正式笔试题怎么写输入输出
总体思想就是把控制台的输入当字符串输入,然后split,再转int输入①只有一行输入的情况 public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.nextLine().toString(); int[] dis = getIntArr(str);} static int[] getIntArr(Str原创 2021-03-12 00:08:49 · 1909 阅读 · 0 评论 -
用递归函数和栈逆序一个栈
题目描述:一个栈依次压入1,2,3,4,5,那么从栈顶到栈底分别为5,4,3,2,1。将这个栈转置后,从栈顶到栈底为1,2,3,4,5,也就是实现栈中元素的逆序,但是只能用递归函数来实现,不能用其他数据结构。输入描述输入数据第一行一个整数N为栈中元素的个数。接下来一行N个整数Xi表示从栈顶依次到栈底的每个元素。输出描述输出一行表示栈中元素逆序后的每个元素示例1输入51 2 3 4 5输出5 4 3 2 1参考文献如何仅用递归函数和栈操作逆序一个栈...原创 2021-03-12 00:05:19 · 567 阅读 · 0 评论 -
给定N个随机正整数,将其中为素数的整数输出
给定N个随机正整数,将其中为素数的整数输出例如:输入:[3,5,11,12]输出:[3,5,11]注意:1输出数组剩余元素先后顺序需要与原教组保持一致,否则不得分。2给出数组中不存在重复元素,无需去重import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Randomsusu { public static void main(原创 2020-09-27 17:37:39 · 2414 阅读 · 5 评论 -
小团的神秘暗号
小团的神秘暗号时间限制:300OMS内存限制:589824KB小团深谙保密工作的重要性,因此在某些明文的传输中会使用一种加密策略,小团如果需要传输一个字动串S,则他会为这个字符串添加一个头部字符串和一个尾部字符串。头部字符用满足至少包含一个“MT 子序列,且以T结尾。尾部字符串需要满足至少包含一MT 序列,且以M开头。例如AAAMT和MAAAT都是一个合法的头部字符串,而MTAAA就不是合法的头部字符串。很显然这样的头尾字符串并不-定是唯一的,因此我们还有一个约束,就是S是满足头尾字符串合法的情况下的原创 2020-08-29 18:28:08 · 521 阅读 · 0 评论