2021年6月最新面试记录

2021年6月最新面试记录

大家好,又见面了,我是全栈君。

PHP部分

1.nginx设置反向代理,获取真实客户端ip

upstream这个模块提供一个简单方法来实现在轮询和客户端IP之间的后端服务器负荷平衡。
upstream abc.com {
        server 127.0.0.1:8080;
        server 127.0.0.1:80;
        server 127.0.0.1:8000;
}
 
server {
        listen 80;
        server_name www.test.com;
        location / {
                proxy_pass http://abc.com;
                proxy_set_header    Host             $host;#保留代理之前的host
                proxy_set_header    X-Real-IP        $remote_addr;#保留代理之前的真实客户端ip
                proxy_set_header    X-Forwarded-For  $proxy_add_x_forwarded_for;
                proxy_set_header    HTTP_X_FORWARDED_FOR $remote_addr;#在多级代理的情况下,记录每次代理之前的客户端真实ip
                proxy_redirect      default;#指定修改被代理服务器返回的响应头中的location头域跟refresh头域数值
        }
}

  1. yii和thinkphp,laravel区别
  2. tcp三次握手四次挥手
  3. 抽象类和接口的区别
  4. redis 和memchech 区别,
  5. redis 和memcache分布式 ,
  6. mongodb 如何扩容
  1. PHP和go 区别,优势
  2. 常用的shell 命令,
  3. awk 如何分割参数
  4. git merge和rebase区
  5. mysql索引优化
  6. mysql主从复制原理
  7. mysql 存储引擎有几种以及区别
  8. mysql 大分类关联小分类数据库设计,在不使用中间表的情况下(标签??)
  9. 批量更新mysql数据表(如:其中一个用户发生变化,其他多个与之对应的用户发生改变)

golang部分

1.go切片作用,切片与数组的区别? 什么场景用切片,什么场景用数组

Go 语言切片是对数组的抽象。Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片(“动态数组”),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大

数组:

arr1 = [5]int{2, 3, 4, 5, 6} // 长度和元素类型都相同,可以正确赋值
  • 数组定义:由若干相同类型的元素组成的序列
  • 数组的长度是固定的,声明后无法改变
  • 数组的长度是数组类型的一部分,eg:元素类型相同但是长度不同的两个数组是不同类型的
  • 需要严格控制程序所使用内存时,数组十分有用,因为其长度固定,避免了内存二次分配操作

切片:

  • 指针:指向底层数组
  • 长度:切片中元素的长度,不能大于容量
  • 容量:指针所指向的底层数组的总容量
//使用数组来初始化切片
arr := [5]int{1, 2, 3, 4, 5}
slice := arr[0:3] // 左闭右开区间,最终切片为 [1,2,3]

2.闭包函数作用:

Go 语言支持匿名函数,可作为闭包。匿名函数是一个”内联”语句或表达式。匿名函数的优越性在于可以直接使用函数内的变量,不必申明。

package main

import "fmt"

func getSequence() func() int {
   i:=0
   return func() int {
      i+=1
     return i  
   }
}

func main(){
   /* nextNumber 为一个函数,函数 i 为 0 */
   nextNumber := getSequence()  

   /* 调用 nextNumber 函数,i 变量自增 1 并返回 */
   fmt.Println(nextNumber())
   fmt.Println(nextNumber())
   fmt.Println(nextNumber())
   
   /* 创建新的函数 nextNumber1,并查看结果 */
   nextNumber1 := getSequence()  
   fmt.Println(nextNumber1())
   fmt.Println(nextNumber1())
}

以上代码执行结果为:

1
2
3
1
2

参考:https://www.cnblogs.com/caidingyu/p/11077194.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/111525.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 国家标准《电子计算机机房设计规范》(GB50174-93)_计算机机房建设标准规范

    国家标准《电子计算机机房设计规范》(GB50174-93)_计算机机房建设标准规范dgtool:GB50174-2008电子计算机机房设计规范目次1总则(1)2术语(2)3机房分级与性能要求(6)3.1机房分级(6)3.2性能要求(6)4机房位置及设备布置(7)4.1机房位置选择(7)4.2机房组成(7)4.3设备布置(8)5环境要求(9)5.1温度、相对湿度及空气含尘浓度(9)5.2噪声、电磁干扰、振动及静电(9)6建筑与结构(1o)6.1一般规定(1o)6.2人流、物…

  • 研究生小论文投稿_研究生个人总结怎么写

    研究生小论文投稿_研究生个人总结怎么写我是2014级研究生,学校只是一个普通211,而且工科很弱,导师对我是放养,让我回忆下,上学期就见过她一次,而且她快退休了,没项目没经费没权利,但我觉得跟着她还挺好,因为我可以自己研究自己喜欢的,没人妨碍。但同时导师没有基金,所以我的小论文都没有基金可挂。我本身的研究方向自己选的是:鱼眼图像校正、图像拼接、融合,全景漫游。我毕业论文也准备写这个方向,因为挺喜欢,虽然没研究多久。我毕业论文并没有想

  • 掉坑了!GROUP_CONCAT函数引发的线上问题

    怕什么真理无穷,进一步有近一步的欢喜本文分享一篇在工作遇到的一个问题,关于MySQL GROUP_CONCAT函数导致的问题。希望能帮忙到你。开头聊几句一年又一年,2020这一年眼看就要…

  • 逆向-加壳工具介绍

    逆向-加壳工具介绍经过两周尝试手动编写加壳程序,目前也只是能实现给PE文件添加新区块,后面还有重定位表的修复,地址输入表的处理,虚拟机和花指令技术等反调试手段…一大串要学习的工作,几乎就是放弃了吧,通过这两周学习能让自己对PE文件和偏移地址、虚拟地址有一定了解也算不亏。目前就是转而向使用工具方向了。目前加壳的两个主要方向是压缩和加密。压缩壳压缩壳以UPX为代表,使用方法在前面的文章中有,此类壳的功能已压缩为主,对文件的加密效果几乎没有,Peid等侦壳工具可以轻而易举地发现这些壳,相应也有较成熟的脱壳机来实现。所以当文件

  • Java基础语法(十一)类?对象?我能不能写个妹子类给自己造个(一个够吗?)对象?

    Java基础语法(十一)类?对象?我能不能写个妹子类给自己造个(一个够吗?)对象?

  • java栈的实现_java技术栈

    java栈的实现_java技术栈一.数组实现的栈,能存储任意类型的数据。/***java使用数组来实现栈,能存储任意数据**@authorLinging*@date2019/2/10**/importjava.lang.reflect.Array;publicclassArrayStack<T>{ privatefinalstaticintDEFA…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号