
面试
面试
zane197
这个作者很懒,什么都没留下…
展开
-
面试:如何设计一个秒杀系统
秒杀系统的特点高性能:秒杀涉及大量的并发读和并发写,因此支持高并发访问这点非常关键一致性:秒杀商品减库存的实现方式同样关键,有限数量的商品在同一时刻被很多倍的请求同时来减库存,在大并发更新的过程中都要保证数据的准确性。高可用:秒杀时会在一瞬间涌入大量的流量,为了避免系统宕机,保证高可用,需要做好流量限制设计思路将请求尽量拦截在系统上游,对请求进行限流和削峰。前端优化:限流:前端答题或验证码,来分散用户的请求禁止重复提交:限定每个用户发起一次秒杀后,需等待才可以发起另一次请求,从而减少用户原创 2020-08-26 19:48:51 · 1721 阅读 · 0 评论 -
操作系统面试汇总
什么是进程?进程就是正在执行的程序,是操作系统资源分配的基本单位。一般来说,进程包含指令、数据和PCB。延伸问题:孤儿进程和僵尸进程有什么区别?孤儿进程就是说一个父进程退出,而它的一个或多个子进程还在运行,那么这些子进程将成为孤儿进程。孤儿进程将被 init 进程(进程ID为1的进程)所收养,并由 init 进程对它们完成状态收集工作。因为孤儿进程会被 init 进程收养,所以孤儿进程不会对系统造成危害。僵尸进程就是一个子进程的进程描述符在子进程退出时不会释放,只有当父进程通过 wait() 或 w转载 2020-08-22 11:12:20 · 764 阅读 · 0 评论 -
猿辅导一面
自我介绍Java中Synchronized是怎么实现?Synchronized修饰普通方法,代码块,静态方法都是锁的那些对象。Java对象头里面都有什么》Java锁升级的过程?Java中中断和异常的区别?恢复现场的流程。线程池的主要参数spring aop和IOC的实现原理。springMVC的执行流程MySQL的索引数据结构?B和B+树的区别?Mysql 聚簇索引和非聚簇索引的区别?给一个数组,在里面找到任意一个波峰。返回其索引?...原创 2020-08-21 16:00:35 · 450 阅读 · 0 评论 -
阿里高德电话面
自我介绍博客的内容都包含哪些方面?JVM OOM的问题的排查思路?哪些区域会出现OOM。如果经过检查jvm的堆内存和栈内存都没有溢出,但是系统的可用内存却变少了,可能是什么原因导致的。根据自己的实际经验来说,出现OOM的情况都是有哪些?数据库索引的存储结构?B+树这种索引结构的优势在哪?Java中classloader的作用?什么情况下应该使用自定义类加载器?举个例子我面试的其他同学大部分都讲对工程项目的理解不够深入,你为什么会有这么出色表现?你当初高考的时候为啥去河南工业大学而不是.原创 2020-08-17 15:31:37 · 159 阅读 · 0 评论 -
网易二面面经
自我介绍根据以下场景提出解决方案?netty中间件会有A->B->C三个阶段,但是C阶段的处理时间大概时1000ms, 问系统的瓶颈在哪里,如何处理。如果上面的netty中间件,是app的服务端中间件,app的每次请求都要进行等待结果返回,这时候该怎么处理?悲观锁乐观锁的理解?现在一个类里面有一个共享变量,有1000个线程对这个变量进行加一,用乐观锁还是悲观锁?同样的场景用乐观锁支持线程的数量多还是悲观锁支持的线程数量多,为什么。springboot 的优势?...原创 2020-08-14 15:41:43 · 961 阅读 · 0 评论 -
顺丰二面面经
简介遇到什么问题怎么解决Nginx 流量复制爬虫去重缓存更新策略集群 分布式 区别 -> 部署很多分 拆成很多分一致性算法 raft Paxos一致性哈希 及解决问题ftp大量timewait状态?netty占包年报Mongo选型查询性能mongo索引JUC线程状态jvm内存模型gc算法 为什么这样设计jvm配置参数新老比例 默认多少 怎么算 4G内存可用内存有多少内存泄漏原因 排查解决Java领域擅长什么?有什么问题?没有遇到实际问题,一些问题考虑情况原创 2020-08-07 10:01:19 · 825 阅读 · 0 评论 -
顺丰一面面经
顺丰一面面向对象的三大特性,在Java中具体是怎么做的?封装:封装的目的是隐藏事务内部的实现细节,以便提高安全性和简化编程。继承:是代码复用的基础机制,继承可以看作是非常紧耦合的一种关系,父类代码修改,子类行为也会变动。在实践中,过度滥用继承,可 能会起到反效果。多态 多态包括重写、重载和向上转型。重写是父子类中相同名字和参数的方法,不同的实现;重载则是相同名字的方法,但是不同的参数。2. hashmap的put过程,扩容?如何获取全部的key和全部的value,concurrentHash原创 2020-08-04 16:41:58 · 287 阅读 · 0 评论 -
Netty基础知识
Netty基础知识一、Netty零拷贝?Netty的接收和发送ByteBuffer采用DIRECT BUFFERS,使用堆外直接内存进行Socket读写,不需要进行字节缓冲区的二次拷贝。如果使用传统的堆内存(HEAP BUFFERS)进行Socket读写,JVM会将堆内存Buffer拷贝一份到直接内存中,然后才写入Socket中。相比于堆外直接内存,消息在发送过程中多了一次缓冲区的内存拷贝。Netty提供了组合Buffer对象,可以聚合多个ByteBuffer对象,用户可以像操作一个Buffe原创 2020-08-02 18:47:15 · 201 阅读 · 0 评论 -
百度基础架构部二面面经
UTF-8优势 辨别文件的编码方式reactorselect epollsocket通信https://www.runoob.com/java/net-serversocket-socket.html代码两个字符串;两个数字字符串相加https://segmentfault.com/q/1010000015714183/学生id 课程id 分数 找出挂科数>6select *from T where socre <60 #不及格的学生课程缓存不一致缓存穿透秒杀效率 公平;原创 2020-07-29 12:16:44 · 688 阅读 · 0 评论 -
算法基础知识
算法基础知识算法所具有的特征排序算法算法所具有的特征算法:能够对一定规范的输入,在有限时间内获得所要求的输出。有穷性,指算法必须能在执行有限个步骤之后终止-确切性,算法的每一步骤必须有确切的定义输入项,一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定义除了初始条件输出项,一个算法有一个或多个输出,以反映对输入数据加工后的结果,没有输出的算法是无意义的可行性,算法中执行的任何计算步骤都是可以被分解为基本的可执行操作步骤,即每个计算步骤都可以在有限的时间内完成。t原创 2020-07-29 12:08:50 · 511 阅读 · 0 评论 -
Java 集合基础知识
Java 集合基础知识Java 集合基础知识ArrayListLinkedListHashMap如何计算bucket下标map的几种遍历方法方式1:Iterator迭代器方式2:最常见的使用方式,可同时得到key、value值方式3:使用foreach方式(JDK1.8才有)方式4:通过key的set集合遍历JDK8中的HashMap底层实现1. 快速失败和安全失败是什么Java 集合基础知识https://juejin.im/post/5de85e05f265da33b50727f6 参考链接。原创 2020-07-29 11:56:03 · 415 阅读 · 0 评论 -
java并发编程的艺术
java并发编程的艺术java并发编程的艺术1.1.3 如何减少上下文的切换如何避免死锁?资源限制2 JAVA并发机制的底层实现原理2.1 Volatile的应用2.1.1 JMM 对 volatile 关键字的特殊规则2.1.2 上volatile能够比其他同步工具更快吗?*2.1.3 volatile如何保证其在多处理器情景中的数据的可见性?2.2 synchronized 的实现原理与应用2.2.2 锁的升级与对比偏向锁:为让线程获得锁的代价更低而引入了偏向锁。2.3 原子操作的实现原理2.3.2原创 2020-07-29 11:54:49 · 479 阅读 · 0 评论 -
计算机网络面试总结
计算机网络面试总结1. 网络结构1.1 计算机网络有哪些结构?1.2 计算机网络中各层分别有什么作用?2. TCP/IP协议2.1 描述一下TCP/IP协议的结构2.3 TCP和UDP的区别?2.4 三次握手和四次挥手2.4.1 网络模型2.4.2 Socket原理三次握手四次挥手2.4.3 常见问题2.5 TCP协议如何保证可靠行2.6 TCP协议如何进行流量控制?2.7 TCP协议如何进行拥塞控制?3. DNS协议和ARP协议3.1 DNS解析过程是什么?3.1 什么是MAC地址?3.2 ARP协议工作原创 2020-07-29 11:29:30 · 969 阅读 · 0 评论 -
百度基础架构部一面面经
自我介绍成绩怎样?实验室相关;Java开发相关博客 github说说自己对Java这门语言的理解;当时的回答主要是针对可移植性和生态健全这两个方面来说了一些自己的看法。Java语言是一种面向对象的高级语言,它最显著的有两个特性,一是通过平台中立的class文件格式和屏蔽底层硬件差异的jvm实现‘一次编写,到处运行’;二是通过‘垃圾收集器’管理内存的分配和回收。Java是纯面向对象的语言。《Java编程思想》中提到Java语言是一种“Everything is object”的语言,它能.原创 2020-07-21 22:06:45 · 1529 阅读 · 11 评论 -
招银三面
详细介绍一下你认为完成的还不错的项目。MySQL的创建索引的SQL代码,日期格式转换的SQL代码,创建表的代码MySQL的默认的事务隔离级别,其他的几种隔离级别?MySQL中char 和 varchar 的区别?mybatis 中#{} ${}的区别? 如何将表名作为一个参数传入string的常用方法,equals方法的具体实现?stringbuilder 和 stringbuffer的区别?spring的事务传播特性spring 中有用到哪些设计模式?工厂模式..原创 2020-07-16 16:55:40 · 8274 阅读 · 0 评论 -
招银视频面试面经
说一下都经历过哪些项目?详细说一下你最认可的那一个项目?都用到了哪些技术,项目的架构是什么?spring 中classloader类的功能?MySQL数据库的事务机制、隔离级别?可重复读的内部实现原理?手写一条SQL语句,从 一个工资表里面获取工资最高的100个人的姓名、工资,如果员工数量特别多的时候该怎么处理?Java中内存溢出和内存泄露的区别?HTTPS 和HTTP的区别?详细说一下HTTPS的安全机制?工业设备健康管理平台中各部分使用的传输协议是什么?my..原创 2020-07-09 14:05:43 · 7322 阅读 · 0 评论 -
招银电话面
招银电话面为啥要选用mongo, mongo和MySQL的优势在哪?你说mongo查询快,原因是什么。为什么要选用redis,为什么不选Memcache. redis的持久化策略。spring bean的生命周期接口和抽象类的区别,抽象类如一个类覆写了object类中equals方法 ,没有覆写hashcode方法,这样会出现什么问题?为什么要选用netty,netty的优势在哪里?为啥要选用mongo, mongo和MySQL的优势在哪?你说mongo查询快,原因是什么。为什么要选用redis,为什么原创 2020-06-30 19:17:03 · 129 阅读 · 0 评论