面试
文章平均质量分 84
介绍常考面试题及面经
白夜行515
世界上有两样东西不能直视:一是太阳,二是人心!
展开
-
面试常考LeetCode题(附Java版题解)
精心搜集近年来各大厂面试常考LeetCode题原创 2021-04-03 22:45:22 · 1094 阅读 · 0 评论 -
【面试题】15.项目相关
15.1 抢红包15.1.1 项目架构图15.1.2 项目难点15.2 直播15.2.1 项目架构图15.2.2 项目难点15.2.3 项目亮点15.3 地城之歌15.1.1 项目架构图H5地城之歌游戏架构图WebService:负责维护服务器列表,记录服务器状态信息、玩家账号信息(渠道第三方用户ID是否在游戏内已经创建账号,该ID登陆过的服务器信息,该ID使用过的特殊礼品码信息)等。Logic Server:逻辑服务器,负责游戏内所有系统功能活动的实现。通过WebSoc原创 2021-03-06 23:27:43 · 385 阅读 · 0 评论 -
【面试题】1.JavaSE基础常见面试题
基础部分1.Java语言的特性?跨平台性、面向对象、安全性、多线程、简单易用。2.& 和 && 的区别?&运算符表示按位与、逻辑与,而&&运算符是短路与运算。3.String是最基本的数据类型吗?基本数据类型包括byte、int、char、long、float、double、boolean和short。 取值范围是 -2^(字节数*8-1) ~ -2^(字节数*8-1) - 1,但Boolean是4原创 2017-08-03 08:18:51 · 4273 阅读 · 4 评论 -
【面试题】2.集合类的原理
ArrayList实现原理1.基本原理ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,允许重复,默认第一次插入元素时创建数组的大小为10,超出限制时会增加50%的容量,2.扩容机制首先将容量扩展为原来的1.5倍,然后将新的容量与最大存储容量(Integer.MAX_VALUE - 8)比较,若大于最大存储容量,则取新的容量为整数最大值。每次扩容都底层采用System.array原创 2017-08-03 14:01:23 · 693 阅读 · 0 评论 -
【面试题】3.多线程相关
1.线程与进程的区别定义 进程: 一个执行中的程序,每一个进程执行都有一个执行的顺序(执行单元)线程:是进程中的一个独立的控制单元,是操作系统能够进行运算调度的最小单位,一个进程中至少有一个线程。进程是资源拥有的单位,同一个进程内的线程共享进程的资源;线程是处理器调度和分派的基本单位;进程为重量级组件,线程为轻量级组件;进程的切换代价远高于线程,同步和通信的实现也比线程复杂。多进程是指原创 2017-08-04 07:01:49 · 949 阅读 · 0 评论 -
【面试题】4.JVM相关
1.堆和栈的区别栈内存是存储基本类型的变量和对象的引用变量,方法调用完后会释放该栈及栈中变量。存取速度比堆要快,仅次于寄存器,栈数据可以共享,多个引用可以指向同一个地址,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。堆内存用于存放由new创建的对象和数组,由JVM管理,由于要在运行时动态分配内存,存取速度较慢,栈中的变量指向堆内存中的变量,这就是 Java 中的指针2.解释内...原创 2017-08-04 12:57:32 · 872 阅读 · 0 评论 -
【面试题】5.Linux相关
1.常用命令有哪些文件相关命令 head -n、tail、ln、locate、wc、more、less、ll、dd、df、du、tar-zxvf、ls、nl、cat、pwd、mkdir、rm 、cd、cp、touch、 awk、 date由localtime函数将时间数值转换为日期,是非线程安全的(静态变量)。 而localtime_r和strftime是线程安全的。 find -...原创 2017-08-04 17:03:28 · 680 阅读 · 0 评论 -
【面试题】6.网络相关
TCP拥塞机制和流量控制原创 2017-08-05 09:29:59 · 974 阅读 · 0 评论 -
【面试题】7.MySQL相关
1.MySQL常用命令创建表:create table employee(id int,name varchar(20));修改表结构(列):alter table employee add/modify/drop salary float; 修改字符集:alter table employee character set GBK;修改列名:alter table employee chan原创 2017-08-05 11:19:59 · 1787 阅读 · 0 评论 -
【面试题】8.Redis相关
1.Redis与Memorycache的区别?Redis使用单线程,而Memcached是多线程,Redis使用现场申请内存的方式来存储数据,并且可以配置虚拟内存;Memcached使用预分配的内存池的方式。Redis实现了持久化和主从同步,容灾性会更强。而Memcached只是存放在内存中,服务器故障关机后数据就会消失,Redis支持五种数据类型:string,list, Hash,原创 2017-08-05 17:40:07 · 2066 阅读 · 3 评论 -
【面试题】9.Netty相关
1.BIO、NIO和AIO的区别?BIO:一个连接一个线程,客户端有连接请求时服务器端就需要启动一个线程进行处理。线程开销大。伪异步IO:将请求连接放入线程池,一对多,但线程还是很宝贵的资源。NIO:一个请求一个线程,但客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。AIO:一个有效请求一个线程,客户端的I/O请求都是由OS先完成了原创 2017-08-06 14:33:39 · 52372 阅读 · 7 评论 -
【面试题】10.Spring相关
1. 什么是 Spring 框架?Spring 是一种轻量级开发框架,旨在提高开发人员的开发效率以及系统的可维护。Spring包含很多模块,分别是:核心容器、数据访问/集成,、Web、AOP、工具、消息和测试模块。例如:Core Container 中的 Core 组件是Spring 所有组件的核心,Beans 组件和 Context 组件是实现IOC和依赖注入的基础,AOP组件用来实现面向...原创 2019-06-02 15:57:46 · 535 阅读 · 0 评论 -
【面试题】11.MQ相关
1. 为什么使用消息队列?消息队列的使用场景:解耦:例如A系统需要发送数据到BCD等多个系统异步:例如A系统接收请求后不仅需要本地写库,还需要在BCD等多个系统中写库,然后才能返回结果。削峰:例如A系统在某个时间段内接收的请求多于平时好几倍(秒杀)2. 使用消息队列会带来什么问题?可用性降低:需要考虑MQ服务器挂掉的情况。解决方法:MQ集群确保高可用复杂性提高:需要考虑...原创 2019-06-09 11:32:00 · 565 阅读 · 0 评论 -
【面试题】12.Mybatis、Zookeeper与Dubbo
1.HashMap的键值允许为空吗? 集合类 Key Value Super 线程 ConcurrentHashMap 非null 非null AbstractMap 安全 TreeMap 非null 可null AbstractMap 不安全 HashMap 可null 可null AbstractMap 不安全 W原创 2017-08-03 09:34:42 · 711 阅读 · 0 评论 -
【面试题】13.算法相关
1.冒泡排序思想:比较相邻的元素。如果第一个比第二个大,就交换它们的值,从开始第一对到结尾的最后一对代码实现:O(n2)、O(n)、O(n2)、O(1)、稳定。 public static void bubble(int[] array) { for (int i = 0; i < array.length - 1; i++) { for (int原创 2017-08-07 10:20:51 · 706 阅读 · 0 评论 -
【面试题】14.设计模式相关
1.单例设计模式使用设计模式为了代码复用,增加可维护性。设计模式的六大原则:开闭原则、里氏代换原则、依赖倒转原则、接口隔离原则、迪米特法则(最少知道原则)、合成/聚合复用原则Singleton(创建):保证一个类仅有一个实例,并提供一个访问它的全局访问点。如打印机饿汉式单例模式//饿汉模式:线程安全,耗费资源。public class HugerSingletonTest { /原创 2017-08-07 15:26:51 · 765 阅读 · 0 评论 -
【面试题】海量数据及其它
海量数据处理思路针对时间,可以采用巧妙的算法搭配合适的数据结构,如Bloom filter/Hash/bit-map/堆/数据库或倒排索引/trie/,针对空间,无非就一个办法:大而化小:分而治之/hash映射,处理海量数据的几种方法分而治之/hash映射 + hash统计 + 堆/快速/归并排序;双层桶划分;Bloom filter/Bitmap;Trie树/数据库/倒排索引;外排序原创 2017-08-07 19:15:16 · 634 阅读 · 0 评论 -
【面试题】Hadoop相关
1.HDFS的特点?Hadoop是一套开源的软件平台,利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理,核心组件分为:HDFS(分布式文件系统)、MapRuduce(分布式运算编程框架)、YARN(运算资源调度系统)HDFS是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。HDFS简化了文件的一致性模型,通过流式原创 2017-08-06 17:43:04 · 832 阅读 · 0 评论 -
【面试题】二叉树相关
1.二叉树二叉树是每个节点最多有两个子树的树结构满二叉树:除叶子节点外,所有节点的度都为2完全二叉树:叶子结点只能出现在最下两层;最下层的叶子一定集中在左部连续位置;倒数二层,若有叶子结点,一定都在右部连续位置;如果结点度为1 ,则该结点只有左孩子,即不存在只有右子树的情况;同样结点数的二叉树,完全二叉树的深度最小。哈夫曼树是一种带权路径长度最短的二叉树,也称为最优二叉树2.前中序遍历的代原创 2017-08-07 14:32:09 · 549 阅读 · 0 评论 -
【面试题】链表、栈和队列
1.顺序存储结构顺序存储结构,即数组。优点:节省存储空间,随机存取表中元素;缺点 :插入和删除操作需要移动元素顺序存储结构的插入与删除操作代码实现 public void insert(int data){ if (length >= size){ System.out.println("已存满"); return;原创 2017-08-07 13:35:00 · 949 阅读 · 0 评论 -
【剑指offer】Java版代码(完整版)
一、引言《剑指offer》可谓是程序猿面试的神书了,在面试中帮了我很多,大部分面试的算法题都会遇到原题或者是类似的题。但是书上的代码都是C版的,我在这里整理了一份Java版的代码供大家学习参考,这些代码我都是在OJ上跑过全AC的,所以正确性你大可放心。二、目录赋值运算函数单例设计模式二维数组中查找目标值替换字符串中的空格从尾到头打印链表由前序和中序遍历重建二叉树用两个原创 2017-11-02 19:44:44 · 69946 阅读 · 61 评论 -
2018届秋招时间表
一、笔试面试时间 序号 公司 内推时间 内推笔试 内推面试 网申时间 网申笔试 网申面试 1 阿里 7.4-8.18 免 7.3-8.25 7.4-8.18 8.23-8.25 9 2 网易 7.17-8.8 8.12 8.15-8.30 8.9-9.6 9.9 9-10 3原创 2017-08-02 13:19:47 · 28582 阅读 · 3 评论