京东面经总结-编程思维
非科班,经历了无数场秋招,现将面试京东的题目记录如下: 一面 kafka在应用场景以及 项目 里的实现 bitmap底层 object里有哪些方法 hashmap相关 sychronized和reentrantlock相关问题以及锁升级 cas和volatile 线程几种状态以及转化 jvm内存模型 mybatis相关问题 Redis数据结构,问了下跳表的底层 RDB和AOF MySQL索引有
morethink program
转载请注明出处: 1 介绍下nginx特点与常用模块 2 nginx特点详细 3 反向代理和正向代理 4 负载均衡策略有哪些 5 Nginx如何实现动静分离? 6 Nginx 常用命令有哪些? 7 Nginx 进程模型 8 nginx是四层协议还是七层的 9 nginx如何自定义负载均衡 10 如何自定义根据cpu的运行情况进行负载均衡配置 1
面试时被问到这个问题,发现自己一直以来理所当然的认为C++快,却没有具体分析原因。下面简单总结一下为什么快。 当我们编写程序时,我们需要将程序转换为计算机可以理解的机器语言。不同的语言有不同的执行机制。以C++,Java和Python的执行过程为例。 C++程序的执行过程: 预编译(预处理): 预处理器将源代码中的所有预处理指令(例如#include, #define)替换为实际的代码。预处理器
本文意在解析锁的概念,不只是解析题目,而是将锁弄清楚,知道大概的实现方案。 数据库锁的分类 数据库锁的分类有很多种。 分类1 从数据库系统角度分为三种:排他锁X、共享锁S、更新锁U。 排他锁(X锁):该锁也称为独占锁,用于数据修改操作,例如 INSERT、UPDATE 或 DELETE。确保不会同时同一资源进行多重更新。如果事务T对数据A加上排他锁后,则其他事务不能再对A加任何类型的锁。获准排他
前言 sizeof()与strlen()都是为了获取对象的长度。在正常编写C++的算法程序代码时,可能这两个都很少用到,因为各种stl容器的封装已经给了我们很大的便利,比如我们在想要获取自定义的vector容器里的元素个数,想要获取string类型的字符串的长度时,都只需要调用他们的.size()方法就可以得到容器的长度或者元素的个数。诚然如此,仍会有很多情况需要获取未定义大小方法的对象的大小,
什么是MySQL MySQL是一个关系型数据库,它采用表的形式来存储数据。你可以理解成是Excel表格,既然是表的形式存储数据,就有表结构(行和列)。行代表每一行数据,列代表该行中的每个值。列上的值是有数据类型的,比如:整数、字符串、日期等等。 数据库的三大范式 第一范式1NF 确保数据库表字段的原子性。 比如字段 userInfo: 广东省 10086' ,依照第一范式必须拆分成 userIn
本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址 如果访问不了Github,可以访问gitee地址。 gitee地址 跟大家分享Elasticsearch的基础知识,它是做什么的
操作系统的四个特性? 并发:同一段时间内多个程序执行(与并行区分,并行指的是同一时刻有多个事件,多处理器系统可以使程序并行执行) 共享:系统中的资源可以被内存中多个并发执行的进线程共同使用 虚拟:通过分时复用(如分时系统)以及空分复用(如虚拟内存)技术把一个物理实体虚拟为多个 异步:系统进程用一种走走停停的方式执行,(并不是一下子走完),进程什么时候以怎样的速度向前推进是不可预知的 进程线程 进
本周参加两个SAP项目面试后的感想 本周二和周四,应约参加了2个不同项目的电话面试,感触挺多的。 1,行业经验在很多项目选人的时候具有关键性的决定作用。 A项目,是一个快消品行业的大项目,客户是世界跨国巨头,听对方介绍起来该项目规模庞大,极其复杂,所以他们选人要求极其严格。 这个项目从猎头开始面试我的外语,到乙方公司的2个不同的人给我电话(外语面试和中文面试),共
转载请注明出处: 1.ajax异步和同步的区别 Ajax是一种基于JavaScript语言和XMLHttpRequest对象的异步数据传输技术,通过它可以使不用刷新整个页面的情况下,对页面进行部分更新。 同步和异步是指客户端发送请求时,主线程是否会阻塞等待服务器的响应返回。 同步请求在发送请求后,客户端主线程就会被阻塞,等待服务器响应返回后再继续执行,期间无法进行其他操作。如果服务器
转载请注明出处: 1.最大可以创建多少个tcp连接 服务器最大可以创建多少个TCP连接取决于多个因素,例如服务器的硬件配置、网络带宽、操作系统设置等。一般来说,现代服务器的硬件资源和网络带宽都比较充足,因此可以创建大量的TCP连接。然而,服务器在创建TCP连接时也会有一些限制,例如操作系统会限制每个进程打开的文件句柄数量,从而限制了服务器可以创建的TCP连接数量。 在Linux系
本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址 如果访问不了Github,可以访问gitee地址。 gitee地址 前言 SELECT COUNT(*)会不会导致全表扫描引起慢查
转载请注明出处: GET方法和POST方法是两种HTTP请求方法,GET方法通过URL传递参数,可以缓存,但参数长度有限,一般用于获取资源;POST方法通过表单传递参数,不能缓存,参数长度没有限制,一般用于提交数据。 1. GET和POST方法的区别 1.数据传递方式:GET方法的参数以查询字符串方式出现在URL中,而POST方法的参数则放在请求体中。 2.数据传输方式:GET方法
网络分层结构 计算机网络体系大致分为三种,OSI七层模型、TCP/IP四层模型和五层模型。一般面试的时候考察比较多的是五层模型。最全面的Java面试网站 五层模型:应用层、传输层、网络层、数据链路层、物理层。 应用层:为应用程序提供交互服务。在互联网中的应用层协议很多,如域名系统DNS、HTTP协议、SMTP协议等。 传输层:负责向两台主机进程之间的通信提供数据传输服务。传输层的协议主要有传