Hello,大家好。我是公众号 “八点半技术站” 的小编 - Bruce.D。
今天是周四(2020-05-xx),分享一句谚语 “读书有三到,心到口到眼到” 。分享给大家的是 「工具 模块」- 解析BAT面试题(中篇)。
很多人对 BAT 以及其他大厂,也是朝思暮想。也因为一些原因,暂时还未能加入。大厂中有很多经典面试题,直到现在也会用,不要问小编为什么知道(保密)。
因此欢迎热爱 IT编程的各位精英,欢迎进入wechat技术群(底部有二维码),已经有 2000+ 的朋友在不同技术群,一起交流成长。
花几分钟时间看看经典BAT面试题,浏览浏览,一定对你有用!!!
1
1. 给数据库的隔离级别有哪些,各自含义是?MySQL默认的隔离级别是什么?
思路:
数据库事务的隔离级别有4个,由低到高依次为 Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。
√: 可能出现 ×: 不会出现
脏读 | 不可重复读 | 幻读 | |
Read uncommitted | √ | √ | √ |
Read committed--Sql Server , Oracle | × | √ | √ |
Repeatable read--MySQL |
× | × | √ |
Serializable |
× | × | × |
注:我们讨论隔离级别的场景,主要是在多个事务并发的情况下。
含义:
Read uncommitted 读未提交
Read committed 读提交
Repeatable read 重复读
Serializable 序列化
2
2. 一条 sql 的执行过程?
select * from A where id = 99;
思路:
主体分为两部分:Service 和 存储引擎 部分。
service(连接器、缓存查询、分析器、优化器、执行器。存储过程、触发器、视图)等功能都在 Service 层处理。
存储引擎 负责数据的存储和提取。
执行过程如下图:
具体执行其中细节,因为内容过多,可自行搜索(学习的基本)。
3
3. PHP如何运行shell脚本,配置文件在哪开启
思路:
php给我们提供了system(),exec(),passthru()这三个函数来调用外部的命令。虽然这三个命令都能执行linux系统的shell命令。
不同点:
system() 输出并返回最后一行shell结果。
exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。
passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。
相同点:
都可以获得命令执行的状态码
例子:
system("/usr/a.sh");
(1)首先是 要关掉 安全模式 safe_mode = off
(2)然后在看看 禁用函数列表
disable_functions = proc_open, popen, exec, system, shell_exec, passthru
(3)这里要把 exec 去掉
(4)重启 服务器 就OK了
恭喜你,又读完了一篇文章。
在这里,希望你看完的 每篇文章 都能对自己有所提升(哪怕是帮助你再次巩固记忆)。