面试经历1

1.请问get与post方法有什么区别?

答:1. get是从服务器上获取数据,post是向服务器传送数据。
2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。 
建议:
1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;

2.echo()、print()、print_r()的区别?

答:echo是php语言结构,没有返回值,可以输出一个或者多个字符串。
print和print_r是函数,有返回值。
print只能打印简单类型变量的值(int,string)。
print_r可以打印复合型变量的值(数组,对象)。

3.数组['a','b','c'] 转换成字符串 'abc'?

答:echo implode('',$arr);

4.获取字符串'aAbB'中A首次出现的位置?

答:echo strpos('A',$str);

5.描述一个php上传一张图片的整个流程?

答:1.首先判断文件类型是否为图片格式。
2.若是则上传文件,然后重命名文件(一般都是避免上传文件重名,现在基本上都是以为时间来命名)
3.接着把文件上传到指定目录,成功上传后输出上传图片的预览。

6.mysql_fetch_row() 和 mysql_fetch_array 之间有什么区别?

答:mysql_fetch_row() 函数从结果集中取得一行作为数字数组。
mysql_fetch_array() 是 mysql_fetch_row() 的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。

7.利用下表结构,写出发帖数最多的十个人名字的sql(members(id,username,posts))?

答:select username, count(username) as posts from members group by username order by posts desc limit 10。

8.列举mysql数据库优化的三种方法?

答:Mysql的优化,大体可以分为三部分:索引的优化,sql语句的优化,表的优化
1.索引的优化
只要列中含有NULL值,就最好不要在此例设置索引,复合索引如果有NULL值,此列在使用时也不会使用索引
尽量使用短索引,如果可以,应该制定一个前缀长度
对于经常在where子句使用的列,最好设置索引,这样会加快查找速度
对于有多个列where或者order by子句的,应该建立复合索引
对于like语句,以%或者‘-’开头的不会使用索引,以%结尾会使用索引
尽量不要在列上进行运算(函数操作和表达式操作)
尽量不要使用not in和<>操作
2.sql语句的优化
查询时,能不要*就不用*,尽量写全字段名
大部分情况连接效率远大于子查询
多使用explain和profile分析查询语句
查看慢查询日志,找出执行时间长的sql语句优化
多表连接时,尽量小表驱动大表,即小表 join 大表
在千万级分页时使用limit
对于经常使用的查询,可以开启缓存
3.表的优化
表的字段尽可能用NOT NULL
字段长度固定的表查询会更快
把数据库的大表按时间或一些标志分成小表
将表分区

9.对于大流量的应用,采用什么样的方法来解决访问量问题?

答:01、|确认服务器硬件是否足够支持当前的流量
02、优化数据库访问 [缓存技术
03、禁止外部的盗链。
04、优化前后端代码,不能有冗余代码;
05、控制大文件的下载 
06、使用不同主机分流主要流量 [分布式]
07、使用流量软件统计软件

10.请问varchar 和 char 有什么区别?

答:char是定长字符串,varchar是变长字符串,char效率比varchar稍高,所谓的以空间换取时间效率。

11.cookie session的联系和区别,多台web服务器如何共享session?

答:(1).cookie在本地,session在服务器端。
(2).cookie不安全,容易被欺骗,session相对安全。
(3).session在服务器端,访问多了会影响服务器性能。
(4).cookie有大小限制,为3K。
(5).session是基于cookie的,如果cookie被禁用,session不能被启用。
多服务器共享session可以尝试将session存储在memcache中。

基于Spring Boot搭建的一个多功能在线学习系统的实现细节。系统分为管理员和用户两个主要模块。管理员负责视频、文件和文章资料的管理以及系统运营维护;用户则可以进行视频播放、资料下载、参与学习论坛并享受个性化学习服务。文中重点探讨了文件下载的安全性和性能优化(如使用Resource对象避免内存溢出),积分排行榜的高效实现(采用Redis Sorted Set结构),敏感词过滤机制(利用DFA算法构建内存过滤树)以及视频播放的浏览器兼容性解决方案(通过FFmpeg调整MOOV原子位置)。此外,还提到了权限管理方面自定义动态加载器的应用,提高了系统的灵活性和易用性。 适合人群:对Spring Boot有一定了解,希望深入理解其实际应用的技术人员,尤其是从事在线教育平台开发的相关从业者。 使用场景及目标:适用于需要快速搭建稳定高效的在线学习平台的企业或团队。目标在于提供一套完整的解决方案,涵盖从资源管理到用户体验优化等多个方面,帮助开发者更好地理解和掌握Spring Boot框架的实际运用技巧。 其他说明:文中不仅提供了具体的代码示例和技术思路,还分享了许多实践经验教训,对于提高项目质量有着重要的指导意义。同时强调了安全性、性能优化等方面的重要性,确保系统能够应对大规模用户的并发访问需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值