写出以下代码的输出:
try {
include_once "aaa";
print "aaa";
} catch (Exception $e) {
print 'dddd';
}
我的回答是:如果 include_path 中包含有 aaa 为文件名的文件,则代码输出 aaa。 否则输出 ddd。
面试官对我的回答提出质疑:代码就是代码,只有可能有一种输出结果。
我对面试管的追问答复:
你可以认为我这道题答错了。
从这道题以后面试官(一面)对我的技术能力持怀疑态度。后面的 MySQL char(2) 能保存几个中文字符,由于学艺不精没有答上来。后来二面直接让我在待遇和机遇中做权衡。
回复内容:
首先面试不一定要回答出abc才是正确的...最主要的是一次思考的过程,对于很多知识点举一反三的能力...
第一题:考的是include 和 require的区别
include 包含不存在的文件,只会抛出warning,require 包含不存在的文件会报fatal error
所以该题无论如何都会输出ddd 因为不会报错,所以不会抛出异常...
反之如果是require包含,如果aaa文件不存在则会抛出异常,跳转到catach代码块,否则输出ddd
第二题:考的是对中文按字节如何存储,char 存储的字节
utf-8下 每个中文对应3个字节,char(2) 代表该行该列存储暂用2个字节(无论存几个字符)
所以1个都办法存储...
如果你能这样回答,并举一反三的话,面试官一定会看好你哦~
latin1:
1character=1byte, 1汉字=2character(字符),
也就是说一个字段定义成 varchar(200),则它可以存储100个汉字或者200个字母。
这一点要注意,尤其是当字段内容是字母和汉字组成时,尽量假设字段内容都是由汉字组成,据此来设置字段长度
utf8:
1character=3bytes, 1汉字=1character(字符)
也就是说一个字段定义成 varchar(200),则它可以存储200个汉字或者200个字母。
gbk:
1character=2bytes,1汉字=1character(字符)
也就是说一个字段定义成 varchar(200),则它可以存储200个汉字或者200个字母。 第一题经过测试 Warning之后输出 aaa 如果换成require 也只是到Fatal error: require() [function.require]: Failed opening required 'aaa' 。。。然后什么都不会再输出了,也不抛出异常第二题 经过测试可以存储2个中文字符
CREATE TABLE `testchar` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`aa` char(2) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
INSERT INTO `testchar` VALUES ('1', '啊');
INSERT INTO `testchar` VALUES ('2', '啊啊');
INSERT INTO `testchar` VALUES ('3', '啊啊啊'); 刚才在本机做了一下测试,当 include_path 中没有找到 aaa 为文件名的文件时,该代码会有 Warning 级别的错误提示:failed to open stream ....。而当include_path 中存在该文件时,代码会输出"aaa".
我认为这道题实际是考察 include_once 的报错会无视 try catch 语句这个知识点。我学艺不精,回答只答对了一半。那么面试官的追问:代码只有可能有一种输出的观点是否正确呢?

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

在Java中,当多个线程同时操作一个集合对象时,有可能会发生ConcurrentModificationException异常,该异常通常发生在遍历集合时进行修改或者删除元素的操作,这会导致集合的状态出现不一致,从而抛出异常。本文将深入探讨该异常的产生原因和解决方法。一、异常产生原因通常情况下,ConcurrentModificationException异

当我们在使用 PHP 编写网页时,有时我们需要在当前 PHP 文件中包含其他 PHP 文件中的代码。这时,就可以使用 include 或 include_once 函数来实现文件包含。那么,include 和 include_once 到底有什么区别呢?

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。

在mysql中,可利用“ALTER TABLE 表名 DROP INDEX unique key名”语句来删除unique key;ALTER TABLE语句用于对数据进行添加、删除或修改操作,DROP INDEX语句用于表示删除约束操作。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Dreamweaver CS6
视觉化网页开发工具

WebStorm Mac版
好用的JavaScript开发工具