
interview
interview
凯歌技术控团队
所有能拿到结果的人都有两个特质:勇敢专业。
敢做,做精。
展开
-
程序员日常开发之Linux服务器维护mysql,忘记密码如何处理,开启远程访问%,添加用户,删除用户,以及用户权限,完成授权后,需要刷新MySQL的缓存,FLUSH PRIVILEGES;
【代码】程序员日常开发之Linux服务器维护mysql,忘记密码如何处理,开启远程访问%,添加用户,删除用户,以及用户权限,完成授权后,需要刷新MySQL的缓存,FLUSH PRIVILEGES;原创 2018-11-24 22:03:49 · 243 阅读 · 0 评论 -
程序员日常敲代码之前端vue2服务端thinkphp5.1关于axios发送请求跨域等异常问题处理,axios的定义基于Promise的HTTP客户端,用于浏览器和node.js。axios的特征
【代码】程序员日常敲代码之前端vue2服务端thinkphp5.1关于axios发送请求跨域等异常问题处理,axios的定义基于Promise的HTTP客户端,用于浏览器和node.js。axios的特征。原创 2018-11-24 21:31:36 · 1016 阅读 · 0 评论 -
程序员面试题之分布式锁,分布式场景中的数据一致性问题一直是一个比较重要的话题,其中的核心就是分布式锁。在大多数系统设计时我们一般会牺牲掉强一致性来保证数据的最终一致性,这需要我们合理地使用分布式锁
基于数据库的实现方式的核心思想是:在数据库中创建一个表,表中包含方法名等字段,并在方法名字段上创建唯一索引,想要执行某个方法,就使用这个方法名向表中插入数据,成功插入则获取锁,执行完成后删除对应的行数据释放锁。当前比较常见的分布式锁主要有基于Redis分布式锁、基于zookeeper分布式锁以及数据库乐观锁。原创 2018-08-03 15:52:42 · 6956 阅读 · 0 评论 -
程序员面试题之MySql的分布式事务:如何在分布式环境实现MySQL的事务管理,分布式事务需要保证这些小操作要么全部成功,要么全部失败,本质上来说,分布式事务就是为了保证不同数据库的数据一致性。
分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上,以上是百度百科的解释,简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败,本质上来说,分布式事务就是为了保证不同数据库的数据一致性。这时候,如果一个操作既访问01库,又访问02库,而且要保证数据的一致性,那么就要用到分布式事务,本质上去讲就是需要确保跨数据源或者跨实例的数据读和写的一致性。原创 2018-07-21 11:28:53 · 213 阅读 · 0 评论 -
程序员面试题之mysql分库分表,大家好,我是你们的凯歌。文章集中整理总结mysql分库分表开源产品,分布式数据库的设计,以及实际应用案例等相关内容,部分附上本文作者实际应用过程中的理解
①IO瓶颈:热点数据太多,数据库缓存不足,产生大量磁盘IO,效率较低。请求数据太多,带宽不够,网络IO瓶颈。②CPU瓶颈:排序,分组,连接查询,聚合统计等SQL会消耗大量的CPU资源,请求数太多,CPU出现瓶颈。分库分表将数据分散存储,使得单一数据库/表的数据量变小来缓解单一数据库的性能问题。原创 2018-08-02 09:47:58 · 2892 阅读 · 0 评论 -
程序员面试题之Mysql性能优化,我们把数据库优化分为四个纬度:硬件,系统配置,数据库表结构,SQL及索引,在数据库优化上有两个主要方向:即安全与性能。
针对运行慢的SQL,通过profile工具进行详细分析.可以得到SQL执行过程中所有的资源开销情况. 如IO开销,CPU开销,内存开销等.针对慢SQL,我们可以使用关键字explain来查看当前sql的执行计划.可以重点关注 type key rows。Show Profile是MySQL提供的可以用来分析当前会话中,SQL语句资源消耗情况的工具,可用于。filterd 等字段 ,从而定位该SQL执行慢的根本原因。再有的放矢的进行优化。我们可以通过慢查询日志和慢查询日志分析工具得到有问题的SQL列表。原创 2018-11-24 21:01:50 · 3800 阅读 · 0 评论 -
计算机编程基础知识之堆和栈,对于内存分配,它其实有两个地方,一个地方叫做堆,一个地方叫做栈,什么时候将数据存放到堆上面,什么时候将数据存放到栈上面,它们的区别是什么,今天我们就来详细讲解一下。
我们经常声明的局部变量,一些基本数据类型,比如int,double,short,char等,这些数据在声明的时候,内存的大小已经确定,它们会被存放到栈中。使用栈的好处是,我们不需要管理内存的释放,这些内存会由操作系统自动释放,比如我们运行的一些函数,当我们函数结束的时候,它内部的变量申请的内存空间就会被自动释放,非常方便。我们经常说的数据结构堆栈,其实指的就是栈,它是一种先进后出的数据结构,从管理角度来讲,它是由操作系统分配管理的,也就是说它是规整的,内存的大小在申请之后不会发生变化。原创 2018-09-18 13:49:11 · 5600 阅读 · 0 评论 -
程序员面试题之PHP字符串操作相关,使用反转字符串函数实现密码加密、使用strtolower()函数将所有用户名转换为小写字母等等。总之,PHP字符串函数是Web开发中不可或缺的一部分
【代码】程序员面试题之PHP字符串操作相关,使用反转字符串函数实现密码加密、使用strtolower()函数将所有用户名转换为小写字母等等。总之,PHP字符串函数是Web开发中不可或缺的一部分。原创 2018-09-11 15:58:59 · 873 阅读 · 0 评论 -
程序员写代码之Intellij IDEA,visual studio code 快捷设置,ctrl + shift + n:打开文件并直接定位到某一行,配置maven加速,打开折叠的全部类或方法
Alt + F7:Find Usages,查找调用过此方法的类。ctrl + shift + n:打开文件并直接定位到某一行。ctrl + alt + L:格式化代码。ctrl + o:查看类中所有方法。ctrl + i:要实现的方法。ctrl + y:删除一行。ctrl + f :查找。ctrl + r :替换。ctrl + d:复制。alt:调试显示内容。原创 2019-11-19 16:31:08 · 730 阅读 · 0 评论 -
程序员敲代码之协同开发git命令相关,Git 撤销commit文件 和 回退push的文件,在master分支上合并develop代码,在开发分支上同步master分支上的代码,查看当前分支,切换分支
【代码】程序员敲代码之协同开发git命令相关,Git 撤销commit文件 和 回退push的文件,在master分支上合并develop代码,在开发分支上同步master分支上的代码,查看当前分支,切换分支。原创 2020-04-14 13:30:40 · 5862 阅读 · 0 评论 -
程序员面试题之Linux常用命令,cp 复制文件或目录,ln软链接,chmod改变权限,chown改变所有者,chgrp改变所属组,ps查看系统中所有进程,压缩和解压类,tar打包,kill终止进程
为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。RPM(RedHat Package Manager),Rethat软件包管理工具,类似windows里面的setup.exe是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。(1)echo 要显示的内容 >> 存储内容的的文件 (功能描述:将要显示的内容,存储到文件中)(1)ls -l >文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))原创 2020-10-22 00:27:56 · 401 阅读 · 0 评论 -
程序员面试题之啥是闭包函数,闭包函数是一种强大的编程技术,可以实现数据的封装和延长变量的生命周期,提供更灵活和可复用的代码结构。在JavaScript等支持闭包的语言中,闭包函数被广泛应用于各种场景中
于是我们需要一种机制,即能长期保存变量又不污染全局,这就是闭包。因为全局变量容易污染环境,而局部变量又无法长期驻留内存。严格来说要满足四个条件。2,内部函数引用外部作用域的变量参数。4,创建一个对象函数,让其长期驻留。为什么我们需要闭包?原创 2015-10-10 11:01:48 · 1381 阅读 · 0 评论 -
程序员面试题之设计模式单例模式,工厂模式,注册模式,策略模式,观察者模式,原型模式,装饰器模式,语句include和require的区别是什么?为避免多次包含同一文件,可用什么语句代替它们?
代码在线运行,https://tool.lu/coderunner/原创 2018-07-19 14:22:47 · 1619 阅读 · 0 评论 -
程序员面试之MySQL索引失效,索引失效的原因可能有多种,表数据量过大,当表中的数据量过大时,即使有合适的索引,MySQL仍可能选择全表扫描的方式进行查询,从而导致索引失效,实际情况还可能有其他因素
面试官:web2022前端面试原创 2018-08-13 00:03:24 · 407 阅读 · 0 评论 -
程序员面试题之什么是XSS攻击?如何防止XSS攻击?什么是自动加载?如何使用自动加载机制?如何设计和实现一个RESTful API?什么是PHP的垃圾回收机制?如何手动释放内存?
状态码英文名称中文描述500服务器内部错误服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,服务器端的源代码出现错误。501方法未实现服务器不支持当前请求所需要的某个功能。当服务器无法识别请求的方法,并且无法支持其对任何资源的请求。502错误网关错误网关,无效网关;503服务暂时不可用由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复。504网关超时50原创 2018-09-20 23:44:03 · 516 阅读 · 0 评论 -
程序员面试题之MyISAM和 InnoDB 的基本区别?索引结构如何实现?什么是 CSRF 攻击 ?XSS 攻击?如何防范?isset() 和 empty() 区别对于大流量的网站,您采用什么样的方法
2020年PHP面试题附答案(实战经验)原创 2020-09-25 11:17:07 · 579 阅读 · 0 评论 -
程序员面试题之mysql事务隔离级别,1. 读未提交(Read Uncommitted)2. 读已提交(Read Committed)3. 可重复读(Repeatable Read)4. 串行化
【原子性(Atomicity)】:当前事务的操作要么同时成功,要么同时失败。原子性由undo log日志来保证。(数据回滚的时候根据undo log来实现的)【持久性(Durability)】:一旦提交了事务,他对数据库的改变就应该是永久性的。持久性由redo log日志来保证。【一致性(Consistency)】:使用事务的最终目的,由业务代码正确逻辑保证。【隔离性(Isolation)】:在事务并发执行时,他们的内部的操作不能互相干扰。原创 2020-10-30 15:38:56 · 376 阅读 · 0 评论 -
程序员面试之PHP中处理高并发抢购礼品超卖,使用队列将用户的购买请求放入队列中,然后按照顺序处理队列中的请求,避免并发操作导致超卖问题,可以使用乐观锁或悲观锁机制来保证同一时间只有一个用户可以购买礼品
要知道php是单线程的,无法应对高并发情况,需要借助redis中的List数据类型。原创 2020-10-30 15:44:37 · 694 阅读 · 0 评论 -
程序员面试题之Static方法与普通方法有啥不同,静态方法可以不依赖于类的实例,可以直接通过类名调用,并可以访问和修改静态属性;普通方法需要通过类的实例对象调用,并可以访问和修改实例属性。
【代码】随便聊下Static方法性能上相较普通方法性能上有何迥异?原创 2020-10-30 16:11:26 · 508 阅读 · 1 评论 -
程序员面试题之Redis缓存穿透,缓存击穿,缓存雪崩,解决这些问题的关键在于合理设置缓存的过期时间、使用锁机制来保护缓存的加载过程、 使用多级缓存架构和预加载机制来提高系统的容错性和性能。
Redis(Remote Dictionary Server ),即远程字典服务原创 2020-10-30 16:36:39 · 302 阅读 · 0 评论 -
程序员面试题之聊下Token,这种no-session的方式作为用户账号的验证,所以对cookie,session,token做一下对比(文中提到的token指jwt token)
session 和 token 本质上是没有区别的,都是对用户身份的认证机制,只是他们实现的校验机制不一样而已(一个保存在 server,通过在 redis 等中间件获取来校验,一个保存在 client,通过签名校验的方式来校验),多数场景上使用 session 会更合理,但如果在单点登录,一次性命令认证上使用 token 会更合适,最好在不同的业务场景中合理选型,才能达到事半功倍的效果。巨人的肩膀。原创 2021-07-12 22:10:49 · 512 阅读 · 3 评论 -
程序员面试题之int(1)和int(10) 区别,int后面的数字,不影响int本身支持的大小,int(1)、int(2)...int(10)没什么区别,一般int后面的数字,配合zerofill一起
int后面的数字不能表示字段的长度,int(num)一般加上zerofill,才有效果。zerofill的作用一般可以用在一些编号相关的数字中,比如学生的编号 001 002 … 999这种,如果mysql没有零填充的功能,但是你又要格式化输出等长的数字编号时,那么你只能自己处理了。原创 2022-08-22 14:30:41 · 241 阅读 · 1 评论 -
程序员敲代码之前端CSS,实现头像图片右上角数字显示,两种方法,让div里面的两个元素竖直排列,并相对于其水平垂直居中,wap首页分类入口,一个简单的欢迎页面,如何妙用弹性盒
【代码】程序员敲代码之前端CSS,实现头像图片右上角数字显示,两种方法,让div里面的两个元素竖直排列,并相对于其水平垂直居中,wap首页分类入口,一个简单的欢迎页面,如何妙用弹性盒。原创 2018-08-10 14:13:15 · 3850 阅读 · 1 评论 -
程序员敲代码之微信小程序基础,微信小程序是使用JavaScript、HTML和CSS等前端技术进行开发的。具体来说,微信小程序的前端部分使用了类似于React的框架,WXML&WXSS
微信小程序开发笔记,开发指南,凯歌技术原创 2018-08-02 17:14:07 · 1392 阅读 · 0 评论 -
程序员面试之nginx和apache的区别,nginx在开启时,会生成一个master进程,然后,master进程会fork多个worker子进程,最后每个用户的请求由worker的子线程处理。
Apache和Nginx最核心的区别在于 apache 是同步多进程模型,一个连接对应一个进程;而 nginx 是异步的,多个连接(万级别)可以对应一个进程。下面本篇文章就来给大家介绍一下Apache和Nginx的区别有那些,选择哪个好?希望对你们有所帮助。原创 2020-10-30 16:54:00 · 347 阅读 · 0 评论 -
程序员面试题之PHP编程数组相关函数,魔法函数,swoole如何做异步,最牛逼的项目QPS是多少,docker-compose.yml写过吗,php代码性能如何优化,php-fpm解决内存泄漏的问题
【代码】程序员面试题之php相关骚操作。原创 2019-02-24 10:58:04 · 327 阅读 · 0 评论 -
Typora自定义样式css,Typora 使用的是 GitHub 风格的 Markdown 渲染引擎,所以可以参考 GitHub 的样式来进行定制,自定义 Typora 的样式,可以使用 CSS
important;important;important;important;important;important;原创 2019-02-26 17:35:43 · 466 阅读 · 0 评论 -
在Windows环境下快速部署Elasticsearch6.4.0,可用于网站搜索,企业搜索,日志记录和日志分析,基础设施指标和容器监控,应用性能监控,地理空间数据分析和可视化,安全分析,商业分析
grunt构建工具,可以进行打包压缩、测试、执行等等的工作,head插件就是通过grunt启动的。三、通过Composer包管理工具直接下载Elasticsearch-PHP。二、安装ElasticSearch的Head插件。一、安装ElasticSearch6.4.0。我用的是Version:6.4.0==>注意:路径切到E:\nodejs下。原创 2018-08-28 17:06:50 · 2185 阅读 · 0 评论 -
常用的一些sql基础语句,子查询是一个查询语句嵌套在另一个查询语句中,联结查询用于在多个表之间建立关联并检索相关数据,聚合函数用于对查询结果进行汇总计算,窗口函数是一种在查询结果的特定窗口上执行计算的
这些是MySQL中的一些高级SQL语句,可以根据具体的需求选择使用。原创 2020-01-14 15:51:43 · 299 阅读 · 0 评论 -
sqlserver2008 sql使用rownumber分页,在SQL Server 2008中,可以使用ROW_NUMBER函数实现分页功能。以下是一个示例查询,演示如何使用ROW_NUMBER函数
ROW_NUMBER()函数将返回一个递增的整数,表示每一行的行号。使用OVER子句来指定排序的列和顺序。在子查询中,将结果作为子查询,并使用WHERE子句过滤行号,以返回指定行范围内的结果。是用于排序的列,可以根据实际需求修改为其他列。是传入的参数,用于指定要返回的行范围。原创 2019-01-10 11:26:28 · 1197 阅读 · 0 评论 -
使用Github Pages搭建属于自己的个人主页,GitHub Pages默认使用`master`分支作为静态文件的源,因此确保你的HTML文件在`master`分支中。如果你在其他分支上进行了更改
https://blog.youkuaiyun.com/u013101178,像这样的优快云提供的博客地址大家肯定难以接受,一般人太难记住了,如何能用上自己申请的域名。1. https://blog.youkuaiyun.com/lmj623565791/article/details/51319147 【张鸿洋的博客】解析到自己的博客,这样装B一下,是不是才够酷,O(∩_∩)O哈哈~2.废话不多说,直接上教程。原创 2018-08-31 11:37:36 · 1440 阅读 · 1 评论