解析 BAT 大厂的经典面试题(下篇)

 解析 BAT 经典面试题

Hello,大家好。我是公众号 “八点半技术站” 的小编 - Bruce.D。

今天是周一(2020-06-08),分享一句谚语 “读书有三到,心到口到眼到” 分享给大家的是 「工具 模块」- 解析BAT面试题(下篇)。

很多人对 BAT 以及其他大厂,也是朝思暮想。也因为一些原因,暂时还未能加入。大厂中有很多经典面试题,直到现在也会用,不要问小编为什么知道(保密)。

因此欢迎热爱 IT编程的各位精英,欢迎进入wechat技术群(底部有二维码)一起交流成长。

花几分钟时间看看经典BAT面试题,浏览浏览,或许对你有用!!!

1

1. PHP 中的垃圾回收机制

主要分为三部分:

    (1)引用计数基本知识

    (2)回收周期(Collecting Cycles)

    (3)性能方面考虑的因素

具体建议参考PHP官方手册:

https://www.php.net/manual/zh/features.gc.php

Q:为什么推荐直接了解官方地址呢?

A:我谷歌搜索了一遍,感觉普遍博主讲的也就是将官方的粘贴出来,简单改了改,只有极少部分博主采用自己想法的话述。与其这样搜索,还不如直接去官方了解,岂不美哉。

2

2. Hash 数据结构

主要分为 数组 + 链表

哈希表(Hash table,也叫散列表)

官方:是根据键(Key)而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表

自家大白话:通过把Key通过一个固定的算法函数(hash函数)转换成一个整型数字,然后就对该数字对数组的长度进行取余,取余结果就当作数组的下标,将value存储在以该数字为下标的数组空间里。

当使用hash表查询时,就是使用hash函数将key转换成对应的数组下标,并定位到该下标的数组空间里获取value,这样就充分利用到数组的定位性能进行数据定位。

3

3. PHP 如何定义编码形式?

俩种方式:

(1)如果欲使用gb2312编码,那么php要输出头:

header(“Content-Type: text/html; charset=gb2312")

静态页面添加:

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文件。

(2)如果欲使用utf-8编码,那么php要输出头 :

header(“Content-Type: text/html; charset=utf-8")

静态页面添加:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

所有文件的编码格式为utf-8。

4

4. 占位符是如何防止sql注入的?

案例:

$dbh = new PDO("mysql:host=localhost; dbname=demo","user","pass");
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES,false); 
$dbh->exec("set names 'utf8'"); 
$sql="select * from test where name = ? and password = ?";
$stmt = $dbh->prepare($sql);
$exeres = $stmt->execute(array($testname, $pass));

Q:拿上面这段demo来说如何防止?

A:当调用 prepare() 时,查询语句已经发送给了数据库服务器,此时只有占位符 ? 发送过去,没有用户提交的数据;

当调用到 execute()时,用户提交过来的值才会传送给数据库,他们是分开传送的,两者独立的,SQL攻击者没有一点机会。

注:

(1)你不能让占位符 ? 代替一组值;

(2)你不能让占位符代替数据表名或列名;

(3)你不能让占位符 ? 代替任何其他SQL语法。

恭喜你,又读完了一篇文章。

在这里,希望你看完的 每篇文章 都能对自己有所提升(哪怕是帮助你再次巩固记忆)。

微信 : xzzs730(长按左侧二维码添加)

技术交流群:备注技术

PHP|WEB|Java面试群:备注面试

商务合作:gtcarry888

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

八点半的Bruce丶D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值