自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 2021届秋招--滴滴笔试--逆时针构建逆序斐波那契矩阵

题目描述:给出n,则从斐波那契数列最大值开始,以第一行第一列为起点逆时针构建n x n的矩阵,并输出问题:我也不知道为啥,只有73的通过率。思路:就按逆时针构建,关键是确定好构建时候的上下限public class Num2 { public static void getRes(int n){ LinkedList<Integer> fib = new LinkedList<>(); fib.add(1); f

2020-08-26 11:26:34 252

原创 2021届秋招--猿辅导笔试--构建完全二叉树并遍历最外圈

题目描述:输入一个n,层次遍历构建完全二叉树,逆时针输出最外围的一圈public class Num1 { public static void main(String[] args){ Scanner in = new Scanner(System.in); int N = in.nextInt(); int[] numArr = new int[N+1];//1-N存放 int inputN = 0; Link

2020-08-26 11:17:20 434

原创 2021届秋招--爱奇艺笔试--匹配括号

题目描述:输入字符串只包括{}[](),检查是否正确匹配思路:简单题,栈顶匹配就完事了public class Num3 { public static void main(String[] args){ Scanner in = new Scanner(System.in); String inString = in.next(); LinkedList<Character> charStack = new LinkedList

2020-08-26 10:29:26 265

原创 2021届秋招--爱奇艺笔试--输入字符串WESN表示行走方向,检查是否重复走过

题目描述:输入一个字符串仅包括(WESN)表示前进方向,当走到曾经到过的地方就输出True,如果走完没有走到过之前的地方就输出False。思路:把起始点当做xy坐标的(0,0)点,W为向X轴负方向前进,E为X轴正方向,S为Y轴负方向,N为Y轴正方向。接下来是判断当前节点是否走过:把每个节点的坐标都放在一个map中,key为X轴坐标;value为该X坐标对应走过的Y坐标,val可以用一个List或者set存放该x坐标所有对应的Y节点。每新到一个节点就可以检查是否走过该节点。public class

2020-08-26 10:15:41 284

原创 2021届秋招--爱奇艺笔试--给出一个整数,输出阶乘末端0的个数

这次爱奇艺的开发笔试出奇的简单!题目描述:输入一个正整数,输出它的末端有几个0思路:0-9这十个数字乘积为0是有限制的。: 5 x 偶数。而偶数的个数远远多于5的个数。所以我们只要计算出这个数的阶乘中所有数分解后有几个5就可以了。public class Num1 { public static void main(String[] args){ Scanner in = new Scanner(System.in); Long n = in.nextL

2020-08-26 10:04:46 367

原创 2021届秋招--贝壳笔试--给出或运算最大的子序列的最短长度

题目:给定一个正整数数组,求或运算最大时候的最短序列。示例:输入: 1 2 3输出:1解释:1 2或运算是 3,1 2 3或运算是3,3自己也是3,最后一个长度为1,输出1.运算:1|1 = 1,1|0 = 1,0|0 = 0public class Num3 { public static int getNum(int n, long[] numsArr){ if (n == 0) return 0; int[] indexNum .

2020-08-12 12:03:43 306

原创 2021届秋招--贝壳笔试--求用最少的颜色给矩阵上色

题目:输入一个NxM的矩阵。给每个元素进行着色,要求是相邻的不同颜色一样(指上下左右),最终着色每种颜色数量一样。例:输入 2 2 输出 2第一行第一列和第二行第二列用颜色一,剩下两个颜色2.public class Num2 { public static long getNum(long len){ long i = 3; while (true){ long temp = len%i; ...

2020-08-12 11:44:48 347

原创 2021届秋招--网易笔试--输出指定最小字典序

题目:先输入两个数n,m。然后接着输入m个数(每个数小于等于n)输出最小字典序。同时保证在输出结果中删去无关数字后可以得到输入的m个数的正确序列。示例:输入: 5 2 4 2输出:1 3 4 2 5解释:1 2 3 4 5是n为5时候最小的字典序,但是输出要4在2前面,所以这个输出才是最小的。(先上代码,思路详述在下面)public class Num2 { public static void main(String[] args){ ...

2020-08-12 11:24:16 389

原创 2021届秋招--网易笔试--求最多分解为几个素数

题目:输入一组正整数,求解最多可以分解为几个素数例:输入:3 5 7输出:6因为3不能再分,5可以分为2+3,7可以分为2+2+3,一共6个。如果在平时可能10分钟就想出来写出来了。在笔试的时候还是太紧张了,想了半天才想到被素数迷惑了,实际上跟素数没多大关系。思路:任何数都是奇数或者偶数,所以这个数一定是n个2相加,如果是奇数,其中一个2换成3就行了,这样一想通就很简单了。只要这个数除以2就行了。比如3/2 = 1,5/2 = 2,7/2 = 3一共就是6个。边界值比如1,2,3..

2020-08-12 10:39:34 278

原创 Java笔记4.6--mycat分库分表

一张表100w,按ID(分库字段)除以10取摸,分到10个库。1号库id最后位总是1,2号库id最后位是2,以此类推。不同的表尽量创建到不同的机器上,别10张表都在一个机器上,甚至一个数据库上,这样意义不大,实际操作时,可以分到5台服务器上,每台机器2个库,不同数据库上,表的结构是一样的。Mycat可以连oracle或者mysql。只把个人大数据量表拆分。比如把百万规模的order表分到10个库上,分库字段是id。在schema,xml中配置10个数据库地址。在rule.xml里定义待分库的表ord

2020-08-05 23:43:31 274

原创 Java笔记4.5--数据库调优

三范式:字段间不存在传递关系。就是说每个字段都跟主键有直接关系,而不能有间接关系。比如有张订单流水表,(订单编号,总价,商品编号,商品名)通过商品编号能再次传递找到商品名,所以不符三范式需要拆分成两个表,订单流水表,(订单编号,总价,商品编号)。商品表,(商品编号,商品名)能避免数据冗余和更新异常问题。案例:在过去一个月里,找出过去一个月的所有买过Java书籍的会员的邮箱,以便于发广告。可以从表中发现,三张表关联查询涉及到的数量太大了运行时间长的SQL会导致有更新操作的SQL

2020-08-05 22:00:30 208

原创 Java笔记4.4--JDBC简单预处理批处理防SQL注入

预处理批处理语法:PreparedStatement pstmt;String query = "insert into student valuse (?,?)";pstmt = connection.prepareStatement(query);pstmt.setString(1,"1");pstmt.setString(2,"Peter");pstmt.addBatch();pstmt.executeBatch();项目中一般PreparedStatement比Statemen

2020-08-05 10:42:42 151

原创 Java笔记4.3--Mysql事务

事务要么全做,要么全都不做。事务并发会引发脏读,不可重复读和幻读,事务隔离就是解决这个问题,有多种隔离级别。虽然也能通过JDBC代码改事务隔离级别,但是这是数据库层面的。低级的事务隔离级别支持更高的并发操作,系统代价也更小。慎用高级的事务隔离级别。脏读:一个事务读取了另一个事务尚未提交的数据。案例:是指一个事务读取了另一个事务尚未提交的数据。假设Mary的工资是1000,财务人员在某一时刻将Mary的工资改成8000(但未提交这个修改事务),此时Mary读取自己的工资,发现变为了80

2020-08-04 23:18:47 112

原创 Java笔记4.2--Mysql索引

(Mysql)索引数据结构:B+树聚簇索引叶节点是数据,非聚簇索引叶节点是数据的地址,一个表职能有一个聚簇索引。索引需要耗费空间,所以不是多多益善。权衡因素:1.建索引要空间,更改数据要重建索引2.表里数据量不大,可以不建索引3.数据量大,但是该字段需要大批量更新,慎重建索引,或者操作前关索引4.数量大,该字段重复性不高,且频繁读,可建索引索引的正确和错误用法:select name, age, score from student where name = 'To.

2020-08-04 22:16:38 93

原创 Java笔记4.1--Mysql之常见问题

常规用的是内连接(取交集):左连接:通过grop by 和 having 查重去重:一个表出现多个Id相同的重复数据。使用having外带子查询:select * from student where Id in (select Id from student group by Id having count(Id) > 1)同时使用delete删除重复的DELETE from student WHERE (id) IN (SELECT id FROM student

2020-08-03 21:59:16 108

原创 Java笔记3.6--简单总结

1.从虚拟机体系结构引出内存管理用完集合要及时clear,用完IO和JDBC后在finally里释放对象2.根据堆区结构,阐述垃圾回收流程分代管理,讲jdk1.7和jdk1.8的区别。讲述GC流程,说明时候触发轻量级GC,什么时候触发Full GC。判断对象可被回收的方式:对象上没有强引用,以及引用计数和根可达算法。引出内存调优,代码级别如何调优,如何排查OOM。3.进一步说明代码级别的调优比如不要频繁修改String。常用的命令参数。讲述弱引用,软引用,引出监控内存性能,排查O

2020-08-03 15:10:09 78

原创 Java笔记3.5--定位排查OOM

什么时候该排查:1.GC过程中,会Stop the World,不干其他活2.本该运行好的程序,在某个时刻卡住,业务日志没有异常3.通过CAT等监控工具,发现某段时间内存用量居高不下上线后一般接CAT等监控工具,监控内存。如果超出阈值,发出一报警邮件。4.稳定重现OOM,比如一天一次,或者每天频繁出现通过GC日志确认:1.能看到GC发生时间和回收的内存量。2.结合卡的时间点,确认是因为GC造成Stop the World。3.可定量观察到GC的频繁程度通过代.

2020-08-03 14:43:30 189

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除