自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

rainMan的博客

好记性不如烂笔头

  • 博客(101)
  • 资源 (1)
  • 收藏
  • 关注

原创 二叉树的层次遍历--leetcode习题总结

python实现二叉树的层次遍历,并使用两种写法,应用广泛!Leetcode上很多层次遍历的题都可以直接做了!!!102. Binary Tree Level Order Traversal429. N-ary Tree Level Order Traversal199. Binary Tree Right Side View103. Binary Tree Zigzag Level Order Traversal

2019-07-28 17:18:17 625 1

原创 Ubuntu中恢复rm命令误删文件(超级详细+亲测有效)

在实验室做项目时使用的是ubuntu16.04某次开发时打字太快从而误删除别的文件,而且还是很重要的文件,ubuntu没有像windows一样的回收站,因此删完就没了,只能通过其他办法恢复。第一步:进入误删除文件的目录内如 cd /home/conference 进入到conference目录,原来的误删除的文件处于此目录内使用df -h命令查看此目录的挂载分区,如/dev/sda1是误删...

2019-05-27 11:13:12 22669 8

原创 编程计算组合数

问题组合数就是[C_n^m],是排列组合中非常重要的一部分,直接按照公式求阶乘会超过int,long的范围,因此在

2019-03-12 11:31:48 8853

原创 ubuntu下搭建ad-hoc网络实现多台设备进行网络通信(通过配置文件)

最近实验室做的一些工作需要使用lattepanda(类似增强的树莓派)并且使用其无线网卡的ad-hoc模式,并且实现多台lattepanda之间实现网络通信。将路由设置为Ad-Hoc(点对点)模式下,由于Ad-hoc独特的无中心、自组织、多跳等特点,节点自身具有转发报文的能力,所以节点之间可以直接通信,而不需要通过无线AP的转发,所以通信效率会显著提高。(一)准备工作 (1)...

2019-03-10 23:16:05 4177 6

原创 netty线程模型

1:目前存在的线程模型有:传统阻塞 I/O 服务模型Reactor 模式2:根据 Reactor 的数量和处理资源池线程的数量不同,有 3 种典型的实现单 Reactor 单线程;单 Reactor 多线程;主从 Reactor 多线程Netty 线程模式(Netty 主要基于主从 Reactor 多线程模型做了一定的改进,其中主从 Reactor 多线程模型有多个 Reactor)一:传统阻塞 I/O 服务模型工作原理图黄色的框表示对象, 蓝色的框表示线程白色的框表示方法(

2020-10-21 16:25:32 353

原创 NIO与零拷贝

传统 IO(4次拷贝,3次切换)Java 传统 IO 和 网络编程的一段代码:File file = new File("test.txt");RandomAccessFile raf = new RandomAccessFile(file, "rw");byte[] arr = new byte[(int) file.length()];raf.read(arr);Socket socket = new ServerSocket(8080).accept();socket.getOutp

2020-10-15 12:42:49 274

原创 netty学习--第二讲:NIO实现群聊系统

一:原理图二:要求三:服务端编程package com.atguigu.nio.qqchat;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.*;import java.text.SimpleDateFormat;import java.util.Iterator;public class Gr

2020-09-22 16:56:17 274

原创 秋招--亚马逊后台开发

两轮一起面一面自我介绍实习的介绍遇到哪些问题?怎么解决?系统设计题:电梯管理系统功能:一栋楼不同的楼层很多公司,一家公司也可能分布在不同楼,不同层,只有公司员工才能去对应公司所在的楼层安全考虑:需要验证合法性电梯调度效率考虑:系统效率,算法考虑二面自我介绍实验室项目介绍算法题:数据流中的中位数最长递增子序列的个数(不是长度,是个数)配送部门,然后用java,有许多内部的工具和框架,入职后需要自学...

2020-09-22 13:15:38 320

原创 Netty学习--第一讲:IO模型

一:netty的介绍Netty是由JBOSS提供的一个java开源框架,现在为github上的独立项目Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序Netty是基于NIO的,它封装了jdk的nioTCP/IP -> 原生的JDK IO -> NIO -> Netty需要理解同步与异步,阻塞与非阻塞二:netty的应用场景在分布式系统中,各个节点之间需要远程服务调用,高性能的RPC框架必不可少,netty作为

2020-09-16 11:16:11 223

原创 秋招-360-服务端开发

算法不会的问题索引有哪些?索引数据结构,B树与B+树的区别sql语句 行转列分析慢查询Redis数据类型String和hash的使用场景hash是什么是唯一的?http 和https的区别tcp三次握手的过程研究生比本科提升的地方是什么?反问部门技术栈,数据安全部门,服务端开发,用Go和C++比较多,大数据框架等等阿里问了拥塞控制,ip报文头部字段...

2020-09-03 16:50:37 301

原创 秋招-滴滴-网约车技术-java开发

9.1号一天三轮面试,一下午搞定一面实习介绍你实习最大的收获是什么?日志的技术了解吗?算法:1000万的数组,找出里面最小的5个树写一棵二叉树,然后求最大深度数学题:50个红球,50个黑球,2个桶来放这100个球,怎么放能够让从桶中取到红球的概率最大?一给桶放一个红球,其余球都放另外一个桶中JVM中的垃圾收集器有哪些?CMS的过程tcp三次握手和四次挥手过程Mysql的隔离级别,默认是什么隔离级别?可重复读有什么问题?乐观锁与悲观锁一个表有1000万行数据,如何加快增删查

2020-09-01 17:39:22 1068

原创 秋招---阿里健康--java开发

一面:待更项目,实习介绍问了很多学习相关的java相关,基础,JVM,并发编程redismysql反问部门技术栈

2020-09-01 12:00:53 503

原创 2021秋招----hr面试总结

如何学习一门新技术?首先去官网查看介绍,帮助文档等下载下来,配置环境跑一下官网的example,改动看看效果去github上找找demo,跑一下,学习一下然后就可以上手做需求了,不懂的再谷歌搜职业生涯规划最大的亮点?遇到过的最大挫折?谈薪资...

2020-08-31 17:35:49 2072

原创 秋招--美团到店--java开发

一面自我介绍,实习内容介绍数据库了解吧? 聊一下索引b+对比b树有什么优点呢?什么场景用到相邻记录呢?隔离级别死锁怎么解决?java:线程的状态wait()进入到哪种状态线程池,参数或者问,什么时候会从线程池从基本大小向最大值变化?并行与并发的区别 注意口误设置线程池大小需要考虑哪些因素?了解垃圾收集吗? 最新的G1垃圾收集器的过程?哪些阶段会stop the worldnew一个对象,从新生代到老年代的整个过程新生代与老年代的收集算法的区别GC的停顿,也就是stop

2020-08-27 14:01:07 385

原创 快手提前批--Java开发面经

一面hashmap在jdk1.8中的变化? 如何解决死循环? 这个问过很多次CAS与ABA问题?什么时候出现ABA问题?空间担保失败Cms的过程Cms与G1的区别让三个线程顺序执行的方法,一直问,很多很多零拷贝Redis速度快的原因?单线程会有什么问题?然后问io多路复用epoll模型的过程? 什么什么模型内存映射文件用户态与核心态拜占庭算法为什么使用B+树?覆盖索引性别上建索引会用到吗?重复度超过30%不会走索引ACID特性幻影读bin log/ redo log

2020-08-26 20:07:24 268

原创 2021秋招--shopee面经--java后台开发

2020.8.24 一面不会的问题tcp与udp,面向字节流与面向报文的区别,应用中有什么体现出差别?讲讲IO多路复用,select模型与epoll模型的区别管道怎么用的?编程中的实现?java说一下java 容器?为什么要弄一个接口?接口下实现不同的类呢?多线程怎么用的?你说定制版的线程池是什么?参数如何来定制我需要的线程池呢? 参数怎么设置的你熟悉的数据结构和算法有哪些?优先队列怎么实现的?数据库我要创建一个表,怎么设计一个表?满足范式,三大范式是什么?数据库不按照这些范式设

2020-08-24 19:12:09 1600

原创 秋招面经总结(针对看到不会的问题)

Redis相关4.redis分布式锁流程,如何解决缓存雪崩问题2、redis的分布式锁,超时时间以及时间续约?15.redis的数据类型16.hash,set,zset的使用场景17.zset内部实现2 redis做持久化了吗,怎么保证rdb的完整性3 redis淘汰策略4 redis怎么实现事务1、redis在项目中怎么使用的?基本数据结构?2、redis实现分布式锁?java相关java的异常体系?项目中是怎么使用异常的?受检非受检?讲一下java的反射?框架中什么地方用到了

2020-08-20 15:53:11 1154

原创 猿辅导服务端开发面试--秋招正式批

一面自我介绍实验室的研究方向项目介绍,详细一点,然后反问里面的实现问adhoc相关内容网络层协议有哪些? RIP和OSPF区别?各自的过程说一下应用层协议有哪些? 挑一个说一下,反问了telnet,基于什么协议?tcp的可靠性如何实现?有序传输如何实现?java:linkedHashMap与hashMap有什么区别?维护的顺序是key还是value的顺序?java保证线程安全的方式? synchronizied是可重入的吗?什么是可重入?数据库:对什么数据库比较熟悉?四个事务隔离级

2020-08-19 11:21:46 2205

原创 腾讯-pcg-技术运营部-后端开发

这个部门是做算法平台相关的,内部工具算法研究团队工程开发团队-C++多一点一面算法一翻转数列小Q定义了一种数列称为翻转数列:给定整数n和m, 满足n能被2m整除。对于一串连续递增整数数列1, 2, 3, 4…, 每隔m个符号翻转一次, 最初符号为’-’;。例如n = 8, m = 2, 数列就是: -1, -2, +3, +4, -5, -6, +7, +8.而n = 4, m = 1, 数列就是: -1, +2, -3, + 4.小Q现在希望你能帮他算算前n项和为多少。输入包括两

2020-08-18 20:57:44 1278

原创 百度-秋招提前批-搜索研发团队-java开发

一面自我介绍实习内容介绍实验室项目介绍java反射机制hashMap的实现原理equal和==的区别定义两个变量他们是指向同一片内存吗?spring 的依赖注入与控制反转乐观锁与悲观锁ThreadLocal介绍GC,具体说一下分代收集工作中遇到频繁GC怎么定位问题僵尸线程与孤儿进程cookie与session的区别三次握手与四次挥手拥塞控制守护线程算法1:不含有重复字符的最长子串的长度算法2# 给出一个区间的集合,请合并所有重叠的区间。# 示例 1:

2020-08-14 20:07:29 257

原创 腾讯视频-北京 后端开发一面

很奇怪的一次面试,感觉面试官对我不感兴趣自我介绍实习内容介绍,做的内容对你有挑战吗?对语言有要求吗?这个部门用GO语言开发,应用类开发,做web开发,我看你对web开发没什么了解是吧?你实习做的有多大的数据量呢?你对未来有什么规划?对数据库了解吧? 数据库如何进行优化?算法怎么样?算法:实现一个计算器对C语言了解吗?介绍一下指针今天就到这吧!...

2020-08-11 18:20:41 292

原创 Mysql实战45讲笔记

发现别人写的笔记真好,直接转载了!0:学习:一千行MySQL学习笔记https://www.cnblogs.com/shockerli/p/1000-plus-line-mysql-notes.html1:所有笔记https://www.cnblogs.com/luoahong/p/11792027.html

2020-08-02 16:12:14 213

原创 字节提前批面经-教育部门

一面自我介绍,你是走java是吧?咋们来问问java介绍hashmap,链表长度大于等于8会转转化为红黑树?为何使用红黑树?红黑树的高度过大时,检索速度过慢,如何来优化呢?没回答好!算法:从很多数中找到前10个大的数! 维护一个堆就行很多个有序链表,如何合并? 不用分治只进行一次合并链表反转,用递归(剑指offer原题)二分查找,数字在排序数组中出现的次数(剑指offer原题)大数问题:100M内存,一个文件存1G的IP地址,统计每个Ip出现的次数输出到另外一个文件中,按照从大到小的顺序

2020-08-02 15:27:58 600

原创 java实现生产者消费者问题(多种方式)

方法一:信号量这是我们学习操作系统的时候使用的方法,而且思路也一样。import java.util.concurrent.Semaphore;/** * 使用semaphore信号量实现 */public class Test1 { private static Integer count = 0; // 苹果数量 //创建三个信号量 final Semaphore notFull = new Semaphore(10); //盘子里最多放10个苹果 fina

2020-07-29 12:09:58 1362

原创 java内部类(代码演示)

1:什么是内部类将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。例如:身体和心脏的关系。又如:汽车和发动机的关系。2:分类成员内部类:定义在类中,方法外的类。局部内部类:(包含匿名内部类)3:成员内部类3.1 访问特点:内部类可以直接访问外部类的成员,包括私有成员。外部类要访问内部类的成员,必须要建立内部类的对象。如何使用成员内部类?有两种方式:间接方式:在外部类的方法当中,使用内部类;然后main只是调用外部类的方法。直接方式,公式:类名称

2020-07-26 00:05:56 317

原创 抖音提前批--后端开发

首先自我介绍,然后挑一个最重要的项目来说,用到什么技术或算法?算法:算法 NlogN的算法有哪一些?各自的应用场景?快排可以用在分布式系统上吗?稳定性很重要啊,快排和堆排序不稳定,归并排序才是稳定的当有很多重复元素时,快排怎么让元素改变相对顺序呢?问了最小栈的实现(没有写代码),如何只使用一个栈来做?最小栈的最优解:https://zhuanlan.zhihu.com/p/87257507如何来实现求根操作? (int or double)找第topK元素,使用什么算法? 复杂度分析简单跳

2020-07-25 21:37:26 380

原创 滴滴提前批--java工程师(智能中台)

自我介绍,项目使用语言算法:链表的归并排序Java:容器用到哪些? HashMap的源码实现,自己讲,扩容过程? 会rehash吗?当链表长度大于8时会转化为红黑树,为什么是红黑树不是b树或其他树JMM,java内存模型JVM中用过哪些垃圾收集器?IO模型,select/epoll并发,syschronized和lock的使用场景?这一部分想问我不会数据库:MYSQL用过什么存储引擎?索引会吗? 索引的类型四种隔离级别,innodb默认为可重复读,如何实现?谈到MVCC和CASU

2020-07-25 21:35:53 336

原创 leetcode The Maze I,II,III 详细总结

[LeetCode] 490. The Maze 迷宫一:题意链接:https://leetcode.com/articles/the-maze/给定一个二维平面表示一个迷宫,迷宫中0代表空闲处,1代表墙,有一个人从start处可以上下左右四个方向移动(得朝着一个方向一直走到头,碰到墙才能换方向),碰到墙得换方向移动,问是否停在目的地destination。经过目的地不算到达,球并不会停下来边界已经用墙封住了,图中显示出了!二:思路dfs是不行的,超时了!使用bfs来做1:首先从sta

2020-07-10 16:38:24 605

原创 LeetCode 987. Vertical Order Traversal of a Binary Tree

一:题意一开始没读懂题,很尴尬!给定一棵二叉树,然后对节点进行编码,把节点坐标算出来,把一条垂直线上的节点返回。样例:输入:转化为坐标点:转化规则为:初始化根节点坐标为(0,0),左儿子坐标为(X-1,Y-1),右儿子坐标为(X+1,Y-1),下图中红色点的值为节点值。看坐标图,X=-1这条垂直线上有节点9,X=0这条垂直线上有节点3,15,依次类推。所以返回结果为[[9],[3,15],[20],[7]]二:思路首先遍历二叉树,把树中的节点转化为二维坐标系下的坐标对坐标进行排序

2020-07-10 12:06:24 117

原创 美团面试算法题--LeetCode Basic Calculator I, II, III

224. Basic Calculator题意:实现基本计算器来计算表达式的值。表达式只有加减运算并且总是合法的字符串空格不影响计算有括号实现优先级数字都是正数样例Input: “(1+(4+5+2)-3)+(6+8)”Output: 23思路中缀表达式求值,当然用栈来实现227. Basic Calculator II772. Basic Calculator III(lock了,自己百度搜一下题就行)...

2020-07-07 22:48:46 556

原创 后端开发工具

版本管理工具git廖雪峰blogsvn基本命令、实现原理及区别maven树形原理各种依赖管理、父子pom依赖冲突解决方法,排包,排包流程IDEIDEA(建议)ElispseTomcat配置log查询设计原理,实现原理...

2020-07-05 09:56:37 309

原创 2021秋招操作系统面试准备

进程的几种状态IPC几种通信方式。什么是虚拟内存。段存储,页存储,段页存储虚拟地址、逻辑地址、线性地址、物理地址的区别进程与线程的区别进程调度的一些算法策略信号量和互斥量死锁的必要条件,死锁的检测和恢复,避免和预防。...

2020-07-05 09:54:29 232

原创 2021秋招数据库面试准备

实体和属性,E-R图数据库的三级模式、二级映象主键和外键关系数据库基本概念,关系的5种基本操作关系模式的规范化(6种范式)函数依赖与候选码的定义SQL的定义数据库中数据查询数据库查询优化数据的添加、删除、修改表的创建、修改表结构、删除表索引的作用事务的定义和四个性质触发器定义和分类内连接、外连接的区别索引:分类,如何加索引,索引实现原理mysql数据库引擎,区别,实现原理各种join原理...

2020-07-05 09:52:41 315

原创 2021秋招java面试准备

看书:Java程序员面试宝典java基础Java基础:面向对象思想:类与对象、继承、接口、多态、static、final、内部类Error、Exception及其分类String,字符串常量,变量,存在哪里,实现原理,StringBuffer和StringBuilder,java7以前String循环拼接问题集合:HashMap、LinkedList与ArrayList的区别,扩容机制、TreeMap、HashTable、等等IO:各种流反射机制、动态代理等还有很多。。。。。。怎么快

2020-07-05 09:52:03 334

原创 2021秋招计算机网络面试准备

进程的几种状态IPC几种通信方式。什么是虚拟内存。段存储,页存储,段页存储虚拟地址、逻辑地址、线性地址、物理地址的区别进程与线程的区别进程调度的一些算法策略信号量和互斥量死锁的必要条件,死锁的检测和恢复,避免和预防。3次握手和4次挥手过程HTTP响应报文格式及各种响应码HTTP请求报文格式Http1.1和Http1.0的区别Http怎么处理长连接IP地址分类OSI与TCP/IP各层的结构与功能Ping的整个过程。ICMP报文是什么?TCP与UDP区别及其各自优缺点TCP和

2020-07-05 09:50:33 259

原创 面试中Linux常用命令

各命令的参数用的时候再去查。一:进程相关kill:停止进程top:显示当前系统正在执行的进程的相关信息,包括进程 ID、内存占用率、CPU 占用率等ps:查看当前运行的进程状态grep二: 文件相关pwd:显示工作路径cd:切换目录ls:列出路径或目录下的文件mkdir:创建文件夹rm:删除文件或目录cp:拷贝mv: 重命名/移动 一个目录zip:压缩文件unzip:解压文件cat:查看文件内容(more , less)三:网络相关ifc.

2020-07-05 00:04:34 734

原创 2021年秋招面试算法总结

面试常考算法0:前言每一道算法题,AC之后要会分析这道题的时间复杂度和空间复杂度,面试经常会被问到。一道算法题只刷一遍肯定是不够的,做过的算法题刷3遍左右。hard难度的题有时间可以刷,没时间不要勉强,因为投入产出比非常低,有这个时间把做过的题再温习一遍效果更好。现在LeetCode的题量太大,盲目刷效率很低,我尽可能把面试常考的题罗列一下,先保证这些题掌握好,其他题你们自己根据实际情况去扩展。有些题LeetCode上没有,我选择的是LintCode上的题,LintCode链接:https:/

2020-06-26 10:47:16 984

原创 字节开发面试(暑假实习)

容器,并发,原子,java底层源码,redis数据结构,使用场景,MYsql索引,如何建索引,表的操作(左连接,右连接,写sql语句,结果),设计模型,中间件(组件,源码),计算机网络,java匿名类的生命周期(java基础),SQL题,固定的概率发红包,最近半年看什么书?二叉树的层次遍历,二叉树的最远距离(叶子节点),二叉树的最近公共节点(最低公共祖先), 下一个排列数...

2020-06-15 16:25:00 795

原创 非常详细和简洁的任意进制转换(python实现)

最近笔试面试也遇到这种进制转换的题,来总结一下!任意进制转换为10进制举例:二进制:1101转为十进制为:从最低位(从左到右)开始遍历,1 * 2^0 + 0 * 2^1 + 1 * 2^2 + 1 * 2^3 = 1 +0 + 4 + 8 = 13三进制:2101转为10进制为:1 * 3^0 + 0 * 3^1 + 1 * 3^2 + 2 * 3^3 = 1 + 0 + 9 + 54 = 64总结出规律,从低位到高位,每一位乘以权重,再相加,权重是进制的位数次方def anyToTen(

2020-06-14 17:26:06 4421 1

原创 剑指offer--删除链表中重复的结点--递归版本与非递归版本

删除链表中重复的结点在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5一:非递归版本class Solution: def deleteDuplication(self, pHead): if not pHead or not pHead.next: return pHead newHead = ListN

2020-06-08 00:06:18 124

java虚拟机调优--某培训班的课件与源码

java虚拟机调优--某培训班的课件与源码!!!!!!!!!!

2019-01-04

空空如也

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

TA关注的人

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