技术面试
文章平均质量分 71
从快要毕业到入职前的内容 比较详细 内容比较粗 适合面试中的人看
lzb_include
这个作者很懒,什么都没留下…
展开
-
小编程之查询字符串包含字符种类
一,关于ASCII码ASCII码if(c<32) 控制字符else if(c>'0'&&c<'9') 数字else if(c>'a'&&c<'z') 小写字母else if(c>'A'&&c<'Z') 大写字母else 其它字母二,代码如何判断一个字符串含有以上所有类别的字符(假定字符...原创 2020-02-03 20:11:44 · 339 阅读 · 0 评论 -
春秋招面经总结:下个篇章的开始
写在前面1. 写作目的:对自己上一阶段的总结,也希望给准备找工作的同学们多多少少一点帮助,大牛们请无视。2. 基本介绍:普通985本+海外渣硕,大二转到CS专业,大三项目交流3+2,19年10月留学毕业,有工程项目,无实习无额外加分项,主Java研发岗,非battmd级别选手,加一起拿了4个offer。一,面经集合(按公司划分)最早是去年的12月开始,中间有几个月在研究室抗压没有面...原创 2019-10-26 21:20:24 · 1441 阅读 · 0 评论 -
leetcode难题之Regular Expression Matching
一,题目简述Given an input string (s) and a pattern (p), implement regular expression matching with support for '.' and '*'.'.' Matches any single character.'*' Matches zero or more of the preceding e...原创 2019-04-11 16:38:35 · 155 阅读 · 0 评论 -
leetcode难题之Median of Two Sorted Arrays
一,题目简述There are two sorted arrays nums1 and nums2 of size m and n respectively.Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).You may assume num...原创 2019-04-10 12:12:32 · 211 阅读 · 0 评论 -
阿里中间件笔试题---大数据排序
一,题目概要题目:有10个文件,每个文件有1000万行,文件内容的每一行为一个自然数;需要,写一个程序,将所有数字排序,分为10个文件输出,如0号文件包含前1000万个数字,1号文件文件包含第1千万-2千万之间的数字,依次类推。限制:如果使用java,-Xmx需要设置为32MB;其它语言也需限制内存为32MB。要求:正确输出使用多线程加分编写时长:24小时。提供可运行的程序,以...原创 2019-04-04 18:05:53 · 1376 阅读 · 1 评论 -
JavaEE学习之Hibernate框架
一,Hibernate简介Hibernate是一种ORM框架,全称为Object Relative-Database Mapping,在Java对象与关系数据库之间建立某种映射,以实现直接存取Java对象。关于映射Java对象和关系数据库之间的联系的话,传统上在MVC中的数据持久层->编写程序中的DAO层实现:1. 在DAO层操作XML,将数据封装到XML文件上,读写XML文件数据...原创 2019-03-14 11:36:49 · 359 阅读 · 0 评论 -
简单介绍之大数据框架
致初学者一,恶龙出巢大数据是一种现象,它可以称作潮流,但绝不是技术。大数据,顾名思义,就是数据变得越来越多,变得很大很大。我知道很多人对这个解释嗤之以鼻,可是经过我的一段时间学习,发现这个概念就是这样,没有必要把它上升到一种难以理解的高度。不理解的问题在于:你对数据到底有多大根本没有概念。我们在网络上每一次操作无非都是对数据的增删改查,在未来随着网络应用的越来越多,人们对网络需...原创 2019-03-21 16:01:43 · 17868 阅读 · 0 评论 -
JavaWeb之React框架
本篇提取信息自阮一峰老师的博客:http://www.ruanyifeng.com/blog/2015/03/react.html一,React是什么A JavaScript library for building user interfaces。React一个基于JS的MVC框架,由于我们在手机浏览器上运行的Web App的性能不如在应用商店下载的Native APP,其原因主要由...转载 2019-03-13 20:34:54 · 3402 阅读 · 0 评论 -
Java Web之Java web基础
一,JS和JSPJSP(Java Server Page)技术是web网站的服务端技术,可以简单理解为由于普通的网页是html的,它是静态的,需要事先用html语言编写好,而jsp技术是用来生成动态网页的。那么我们在html页面中加入一些java代码,用java代码部分动态的内容插入到原来的html页面中,那么,这个页面就可以成为jsp页面。即,jsp=html+java。Javascri...原创 2019-03-12 19:36:16 · 715 阅读 · 0 评论 -
JavaEE第三篇Spring MVC架构理解
一,MVC架构MVC是三个单词的首字母缩写,它们是Model(模型)、View(视图)和Controller(控制)。这个模式认为,程序不论简单或复杂,从结构上看,都可以分成三层。1)最上面的一层,是直接面向最终用户的"视图层"(View)。它是提供给用户的操作界面,是程序的外壳。2)最底下的一层,是核心的"数据层"(Model),也就是程序需要操作的数据或信息。3)中间的一层...转载 2019-03-20 13:17:52 · 1655 阅读 · 0 评论 -
Java IO和Java NIO
1. Java IO简介为了实现“文件、控制台、网络设备”这些IO设置的通信,我们设计了Java IO。Java IO对应文件组成单位分成以字节为单位和以字符为单位。Java提供的类都是以字节(byte)为单位,例如,FileInputStream和FileOutputStream。而到了java 1.1,为了与国际化进行接轨,在Java io中添加了许多以字符(Unicode)为单位进行...原创 2019-03-07 23:08:55 · 190 阅读 · 0 评论 -
JavaEE第二篇 Spring AOP框架和IoC容器
一,Spring的IoC容器IoC叫控制反转,DI叫依赖注入,是对IoC更简单的实现方法。控制反转是把传统上由程序代码直接操控的对象调用权交给容器,通过容器来实现对象组件的装配和管理。所谓控制反转就是对组件对象控制权的转移,从程序代码本身转移到外部容器,由容器创建并管理对象之间的依赖关系。DI是IOC更准确的描述,即组件之间的依赖关系在运行期决定,形象来说即由容器动态的将某种依赖关系...原创 2019-03-19 22:04:32 · 268 阅读 · 0 评论 -
JavaEE第一篇 从Java多态到Spring框架
一,什么是多态多态意味着“不同的形式”,指允许不同子类型的对象对同一消息做出不同的响应。多态是继数据抽象和继承之后的第三者基本特征,是一种不能单独来看待的属性,相反只能作为类关系全景中的一部分,与其他特性协同工作,实现程序的可扩展性,消除类型之间的耦合关系。多态也被成为动态绑定,后期绑定和运行时绑定,即运行时根据对象类型进行绑定。实现多态的方式有两种:一是(通过数据抽象,继承,接口实现的...原创 2019-03-15 12:39:11 · 376 阅读 · 0 评论 -
3月6日CVTE笔试几个关键的Java概念
一,IOC与DIIOC(Inversion of Control)控制反转经常出现在Spring框架讲义中的概念,理解IoC首先要理解软件设计的一个重要思想:依赖倒置原则(Dependency Inversion Principle )。由于软件工程的规模越来越庞大,为了避免下层代码的小修改造成整个代码的大修后果,我们倾向于改变下层服务于上层的情况,形成上层依赖下层的现象,俗称“为汽车...原创 2019-03-06 21:11:36 · 320 阅读 · 0 评论 -
Leetcode难题之K个一组反转链表
一,题目简述Given a linked list, reverse the nodes of a linked list k at a time and return its modified list.k is a positive integer and is less than or equal to the length of the linked list. If the nu...原创 2019-04-09 11:56:16 · 1396 阅读 · 0 评论 -
leetcode难题之N-Queens
N-Queens问题是回溯法的典型问题,之前的博客有提到,不过觉得有些不完善,刚好这边的leetcode也刷到了就再拿出来总结一遍。一,题目简述The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens attack each other.Gi...原创 2019-04-21 22:20:44 · 521 阅读 · 0 评论 -
MySQL技术总结第二篇
此篇着重讲MySQL存储引擎中的索引和算法写在前面:数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。如果索引太多,应用程序性能就会受影响,如果索引太少,查询性能又会受影响。所以找到平衡点至关重要。InnoDB存储引擎支持以下索引:B+树索引哈希索引其中InnoDB的哈希索引是自适应的,即自动为表生成哈希索引。InnoDB存储引擎会监控对表上...原创 2019-07-12 21:02:20 · 157 阅读 · 0 评论 -
MySQL技术总结第一篇
(答辩完成,接下来一段时间会抓紧学习,月底回国。)拿两三篇总结MySQL的知识点,补上之前的坑。这里第一篇主要讲粗略讲一下MySQL体系结构和存储引擎,通过对MySQL大体的认识,连带补充一些关于InnoDB的特性。一,MySQL体系结构1.1 什么是数据库,MySQL和SQL首先讲数据库,数据库(DB)是文件的集合,是依照某种数据模型组织起来并存放于二级存储器中的数据集合。通...原创 2019-07-11 15:33:36 · 3810 阅读 · 0 评论 -
学习linux之进程,线程与通信
一,进程与线程进程是具有一定独立功能的程序,是系统进行资源分配和调度的独立单位线程是进程的一个实体,是CPU调度和分派的基本单位,他是比进程更小的能独立运行的基本单位。真正在处理机上运行的是线程。进程与线程之间的关系:1. 所属关系一个线程只属于一个进程,一个进程可以拥有多个线程。2. 资源关系资源分配给进程,同一进程的所有线程共享该进程的所有资源。3. 同步协调...原创 2019-06-28 16:53:13 · 848 阅读 · 0 评论 -
设计模式之模板模式和工厂模式
模板模式和工厂模式的类别分类为“交给子类”,即两种设计模式都是通过子类来实现具体的功能。主角是子类,而不像上次的适应设计模式,主角是连接器。这种差别着重体现在我们在工业设计中对需求的不同理解和实现。以下例子选自《图解设计模式》一,模板模式概念模板模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。这种算法...原创 2019-06-15 16:02:49 · 5154 阅读 · 0 评论 -
设计模式之迭代器模式与适配器模式
之所以把他们两个拿出一起写是因为这两种模式都是通过接口引用子类对象并使用重写后对象完成相应功能,书中的说法是适应设计模式。网上关于设计模式的讲解有很多,不过怎么样用自己的话清晰地表达出知识点是一门学问,以下是我自己的思路。例子改编自《图解设计模式》一,迭代器模式概念顺序访问集合对象的元素,而又无须暴露该对象的内部表示的设计模式。应用Java 和 .Net 编程环境中遍历一个...原创 2019-06-14 23:23:56 · 813 阅读 · 0 评论 -
学习linux之基础知识
一,Unix系统与Linux不讲历史,Linux是类Unix操作系统家族的一名成员,和其他Unix操作系统的最大不同点在于,Linux不是商业化的操作系统,遵循GNU,代码全部开放。Linux 也是自由软件和开放源代码软件发展中最著名的例子。只要遵循 GNU 通用公共许可证,任何个人和机构都可以自由地使用 Linux 的所有底层源代码,也可以自由地修改和再发布。Linux版本:Linux...原创 2019-06-20 22:49:23 · 693 阅读 · 0 评论 -
leetcode难题之Maximal Rectangle
一,题目简述leetcode第85题,Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing only 1's and return its area.在一个只含有0和1的二维矩阵中,找出只含有1的最大矩形并返回其面积。二,题目分析在解决这一道题之前,让...原创 2019-05-11 19:25:59 · 201 阅读 · 0 评论 -
设计模式之单例模式
之前在看设计模式之禅这本书,本来想用一个专题专门讲设计模式,可是越看越觉得设计模式其实很难,非我等渣渣之辈三言两语就能解释清楚的,所以心想就一点点来,先在简单介绍自己所知道的单例模式,总结归纳方便记忆。一,单例模式的定义与应用单例模式是一种比较简单的模式:在这种模式里,确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。许多时候整个系统只需要拥有一个全局对象,这样有利于我...原创 2019-04-24 19:48:18 · 219 阅读 · 0 评论 -
leetcode难题之Best time to buy and sell stock大合集
这次带来的是Best time to buy and sell stock大合集,在leetcode上这一合集共有6道题,难度从easy到hard不等,我们这次记录下这一合集的全部解法并记录下解题的思考想法。所有的题目都是计算不同计算规则下股票的最大利润。一,Best Time to Buy and Sell Stock (一次交易)Say you have an array for w...原创 2019-04-19 20:42:17 · 591 阅读 · 0 评论 -
leetcode难题之Dungeon game
一,题目简述The demons had captured the princess (P) and imprisoned her in the bottom-right corner of a dungeon. The dungeon consists of M x N rooms laid out in a 2D grid. Our valiant knight (K) was initi...原创 2019-04-17 10:11:11 · 472 阅读 · 0 评论 -
3月3日Vivo大数据笔试要点总结
一,Java线程sleep()方法和wait()方法sleep()使当前线程进入停滞状态(阻塞当前线程),让出CPU的使用、目的是不让当前线程独自霸占该进程所获的CPU资源,以留一定时间给其他线程执行的机会;sleep()是Thread类的Static(静态)的方法;因此他不能改变对象的机锁,所以当在一个Synchronized块中调用Sleep()方法是,线程虽然休眠了,但是对象的机锁并木...原创 2019-03-03 20:25:23 · 1499 阅读 · 0 评论 -
SDN架构
一,SDN重塑网络SDN(Software-Defined Networking)软件定义网络,是一种新的网络体系结构,重构了网络的系统功能,实现了数控分离,也对网络资源进行了抽象,其中最主要的三个特征:1. 网络开放可编程:用户可以在控制器上编程实现堆网络的配置管理,加快部署2. 数控分离:控制平面和数据平面不再互相依赖,开放接口进行通信3. 逻辑上的集中控制:主要对分布式网络状...原创 2019-02-26 12:06:52 · 4499 阅读 · 0 评论 -
java.util.concurrent包下的类 (转)
文章整理来源:http://www.cnblogs.com/aurawing/articles/1887056.html一 ,背景:在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便。而当针对高质量Java多线程并发程序设计时,为防止死锁等现象的出现,比如使用java之前的...转载 2018-12-12 22:43:58 · 342 阅读 · 0 评论 -
算法设计之回溯法
1.回溯法简介回溯法是五大常用算法之一,也是暴力搜索法的一种。回溯法是一种可以找出所有(或一部分)解的一般性算法,尤其适用于约束满足问题。回溯法采用试错的思想,它尝试分步的去解决一个问题。在分步解决问题的过程中,当它通过尝试发现现有的分步答案不能得到有效的正确的解答的时候,它将取消上一步甚至是上几步的计算,再通过其它的可能的分步解答再次尝试寻找问题的答案。回溯法通常用最简单的递归方法来实...原创 2018-12-27 21:43:17 · 1477 阅读 · 0 评论 -
数据结构之哈希表
这里讲数据结构哈希表,Java集合中的HashTable和HashMap.1.哈希表 1.1介绍哈希表也叫散列表(英文是Hash Table)是一种以 键-值(key-value) 存储数据的结构,我们只要输入待查找的值即key,即可查找到其对应的值。它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称...原创 2018-11-24 23:08:33 · 958 阅读 · 0 评论 -
算法设计之堆排序
1. 堆堆,也叫做优先队列。而其实质上是一颗完全二叉树,而且其每个非叶节点的值都大于或等于它左右孩子的值(大根堆),或者小于等于它左右孩子的值(小根堆)。而之所以称之为优先队列,是因为在队列中我们按存入队列的先后顺序取出元素,而在堆中我们按照节点的优先级别取出元素(显然,根节点具有最大优先级)。以大根堆为例,堆的主要操作是插入和删除最大元素(元素值本身为优先级键值,大元素享有高优先级)。在...原创 2018-11-20 22:53:32 · 531 阅读 · 0 评论 -
数据结构之树
本篇只涉及树的概念范围和应考思路,不涉及具体结构或算法的实现与思考1.树在计算器科学中,树(英语:tree)是一种抽象数据类型或是实现这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>0)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点: ①每个节点有零个或多个子节...原创 2018-11-20 01:25:14 · 59666 阅读 · 8 评论 -
数据结构之链表
1.链表(LinkedList)链表是一种递归的数据结构,它或者为空(null),或者是指向一个结点(node)的引用,该节点还有一个元素和一个指向另一条链表的引用。按特征具体分为单链表,双向链表,循环链表长这样:2.链表的特性 链表优点:一是插入及删除操作的时间复杂度为O(1);二是可以动态改变大小。缺点:由于其链式存储的特性,链表不具备良好的空间局部性,也就是说,链表...原创 2018-11-09 01:06:50 · 299 阅读 · 0 评论 -
网络学习之ping指令
和同学聊天的时候被问到这样一个问题:在虚拟环境路由中主机A ping主机B的时间 加上主机B ping主机C的时间 为什么比主机A ping主机C的时间长?我们经常使用ping指令探测主机间是否通信,然而细究起来还是一知半解,所以这个问题也引起了我的兴趣。1.ping指令windows系统下打开cmd命令行工具就可以使用ping网络诊断工具。我们ping一个网站的效果:我们...原创 2018-11-08 14:32:37 · 5326 阅读 · 0 评论 -
网络学习之网络通信设备辨析
起因最近学到tcp/ip入门,发现一些网络的通信设备不是能很好地辨析,就腾出点时间记下些东西。主要以图解tcp/ip第五版的第一章为纲,结合自己的经验和网上的材料整理。由于关于不想涉及太深的问题,所以没有读论文,就以生活常识为前提,以种类为要点区分一下常见的网络通信设备。正文△ 网卡网络接口控制器(英语:network interface controller,NIC),又称网...原创 2018-05-03 17:15:58 · 1154 阅读 · 0 评论 -
算法设计之斐波那契与跳台阶
1. 斐波那契数列费波那契数列(意大利语:Successione di Fibonacci),又译为费波拿契数、斐波那契数列、费氏数列。在数学上,费波那契数列是以递归的方法来定义:当n趋近于无穷大时,后一项与前一项的比值趋近于1.618,因此也叫黄金比例数列。斐波那契写书时以兔子繁殖问题为例子,因此也叫兔子繁殖数列。 2.斐波那契Java实现package atOf...原创 2018-11-11 12:08:12 · 740 阅读 · 0 评论 -
Java基础之字符串
1. 字符串(String)字符串操作是计算机程序设计中最常见的行为。String并不是基本数据类型,而是一个对象。查看源码会发现,String是一个被final关键词修饰的字符数组。因此String类是不可变类,任何对String的改变都会引发在String pool中新的String对象的生成。用处如图所示String的intern方法:intern 方法会从字符串常量池中...原创 2018-11-08 00:23:53 · 144 阅读 · 0 评论 -
数据结构之栈与队列
1. 栈(stack)这里提到的堆栈指的是计算机科学中的数据结构(与调用栈和内存区域相区分),指的是一组数据的存放方式,即LIFO后进先出(Last in,first out)。后面的数据放在最上面,取数据的时候从上面取。常用的方法有:push:在最顶层加入数据。pop:返回并移除最顶层的数据。top:返回最顶层数据的值,但不移除它。isempty:返回一个布尔值,表示当前s...原创 2018-11-07 14:12:41 · 1057 阅读 · 0 评论 -
算法设计之快速排序
被问到排序,可能以前一直没用重视它,好高骛远基本功不扎实,这次准备好好整理下快速排序的知识,从而深入研究看看能不能向前推广到其他编程题的应用。1.算法简介:原理:快速排序是对冒泡排序的一种改进,首先选择序列中第一个记录为轴值(pivot),然后两边执行冒泡排序找到pivot的位置, 返回pivot的位置,然后两边数组继续叠代。我觉得快速排序的算法写不出主要原因是 ①冒泡排序理解不深 或...原创 2018-09-15 17:01:02 · 2079 阅读 · 0 评论