Open hylerrix opened 7 years ago
实验室一面结束,服务端面试总体结果还可以,但根据笔试题答案,面试官学长指出了其中的一些问题。
在PHP中定义常量时,const 与 define 的区别:用 const 使得代码简单易读,const 本身就是一个语言结构,而 define 是一个函数。另外 const 在编译时要比 define 快得多。在PHP 5.3.0 以后,可以使用 const 关键字在类定义的外部定义常量,先前版本 const 关键字只能在类(class)中使用。一个常量一旦被定义,就不能再改变或者取消定义。
if (...) { const FOOT = ‘BALL’; //无效定义 } if (...) { const FOOT = ‘BALL’; //无效定义 }
const FOOT = ’BALL’; for ($i = 0;$i < 32; ++$i) { define(‘BIT_’. $i,1 << $i); }
const BIT_5 = 1 << 5; //无效定义 define(‘BIT_5’,1 << 5); //有效定义
define(‘FOOT’,’BALL’,true); echo FOOT; //BALL echo FOOT; //BALL
优缺点:
如果不想改变原变量的值的时候就传值,如:
<?php $a = 1; function aa($a) { echo ++$a; } aa($a); ?>
如果可以让函数改变了原变量的值就可以引用传值,如:
<?php $a = 9; function aa(&$a) { echo ++$a; } aa($a); ?>
<?php $a = 1; $b = 2; $a = $a+$b; $b = $a-$b; $a = $a-$b; echo $a; ?>
select * from user where name like '%admin%' limit 0,10
HTTP 本身是一个无状态的连接协议,为了支持客户端与服务器之间的交互,我们就需要通过不同的技术为交互存储状态,而这些不同的技术就是 cookie 和 session 了:
例,在 CodeIgniter 框架下 session 的建立和使用。Session在服务器端的建立与使用:
<?php $this->session->set_userdata('user',$user);?> <?php $user = $this->session->userdata('user');?>
MVC是模型(Model)-视图(View)-控制器(Controller)的缩写。它是一个强制性使应用程序的输入、 处理和输出分开的设计模式。它们各自处理自己的任务。视图是用户看到并与之交互的界面。模型表示企业数据和业务规则。控制器接受用户的输入并调用模型和视图去完成用户的需求。
CI 框架下的传参问题。暑假刚接触 PHP 和 CI,便有做一个用户登录并接收到属于用户自己的欢迎界面的想法,需要用到传参。预期功能是注册、登录并完善信息后,网页左上角输出用户姓名+问候语。最初用的是类方法中的传参,在一个方法里分配视图的时候合并参数建立数组并保存到 $data 中传递给视图,再在视图中调用。但随着网页层级的加深,跳转传参变得既困难繁琐又重复难改,为了优化源码,便于理解和修改,开始寻找解决方法。解决问题的过程中依靠最多的是用户手册、百度百科和其他博主的博客,找要点学习从而知道了 session。当用 session重新部署源码后,省去了很多空间,也使源码变得清晰易懂,优化很多。最终以邮件保存此段经历心得收尾。而下面所附的迷你型网站项目便是此次经历的成果。
就这么交上去,凭着自信与奋进的心博得了二面的机会。二面时间将定于下周,并要求带上自己在linux下上传的网站作为二面试题。
Hello,我是韩亦乐,现任本科软工男一枚。软件工程专业的一路学习中,我有很多感悟,也享受持续分享的过程。如果想了解更多或能及时收到我的最新文章,欢迎订阅我的个人微信号:韩亦乐。我的简书个人主页中,有我的订阅号二维码和 Github 主页地址;[我的知乎主页]中也会坚持产出,欢迎关注。 本文内部编号经由我的 Github 相关仓库统一管理;本文可能发布在多个平台但仅在上述仓库中长期维护;本文同时采用【知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议】进行许可。
实验室一面结束,服务端面试总体结果还可以,但根据笔试题答案,面试官学长指出了其中的一些问题。
服务端开发笔试题问与答
1. 简述 const 与 define 的区别。
在PHP中定义常量时,const 与 define 的区别:用 const 使得代码简单易读,const 本身就是一个语言结构,而 define 是一个函数。另外 const 在编译时要比 define 快得多。在PHP 5.3.0 以后,可以使用 const 关键字在类定义的外部定义常量,先前版本 const 关键字只能在类(class)中使用。一个常量一旦被定义,就不能再改变或者取消定义。
2. 说明函数传值与传引用的区别。
优缺点:
如果不想改变原变量的值的时候就传值,如:
如果可以让函数改变了原变量的值就可以引用传值,如:
3. 请写出至少两种不用中间值实现 a 与 b 交换值的方法。(a 与 b 全小整型)。
4. “数据库”从表中 user 中选出 name 字段包含 admin 的前 10 条结果所有信息的 sql 语句。
5. 简述 HTTP 协议中 GET、POST、PUT、HELETE、HEAD 这几个请求的方法。
6. 简述 HTTP 请求状态码中 1、2、3、4、5** 的意义。
7. 简述目前利用服务端语言解决 HTTP 无状态的方法?
HTTP 本身是一个无状态的连接协议,为了支持客户端与服务器之间的交互,我们就需要通过不同的技术为交互存储状态,而这些不同的技术就是 cookie 和 session 了:
例,在 CodeIgniter 框架下 session 的建立和使用。Session在服务器端的建立与使用:
8. 谈谈你对MVC的理解。
MVC是模型(Model)-视图(View)-控制器(Controller)的缩写。它是一个强制性使应用程序的输入、 处理和输出分开的设计模式。它们各自处理自己的任务。视图是用户看到并与之交互的界面。模型表示企业数据和业务规则。控制器接受用户的输入并调用模型和视图去完成用户的需求。
9. 描述你在开发过程中遇到印象最深刻的问题以及解决的过程。
CI 框架下的传参问题。暑假刚接触 PHP 和 CI,便有做一个用户登录并接收到属于用户自己的欢迎界面的想法,需要用到传参。预期功能是注册、登录并完善信息后,网页左上角输出用户姓名+问候语。最初用的是类方法中的传参,在一个方法里分配视图的时候合并参数建立数组并保存到 $data 中传递给视图,再在视图中调用。但随着网页层级的加深,跳转传参变得既困难繁琐又重复难改,为了优化源码,便于理解和修改,开始寻找解决方法。解决问题的过程中依靠最多的是用户手册、百度百科和其他博主的博客,找要点学习从而知道了 session。当用 session重新部署源码后,省去了很多空间,也使源码变得清晰易懂,优化很多。最终以邮件保存此段经历心得收尾。而下面所附的迷你型网站项目便是此次经历的成果。
下附
就这么交上去,凭着自信与奋进的心博得了二面的机会。二面时间将定于下周,并要求带上自己在linux下上传的网站作为二面试题。