• PHP 中高级程序员面试模拟题


    1 请说一下Lnmp运行细节

    2 laravel/tp/yii/ci/运行大概流程

    3 workerman/swoole 运行原理

    4 http协议实现原理

    5 websocket协议实现原理

    6 如何定制一套应用层通信协议

    7 HTTP协议有何缺点,GET/POST本质有没有区别,为什么,POST比GET安全,传输多是否正确?

    8 redis/mysql 如何优化提升性能

    9 HTTP API 接口安全防刷机制是否有效?

    10 nginx负载均衡轮询算法的原理是什么

    11 php进程在Linux系统上是如何启动的

    12 php/go/python/nodejs/rust/java 它们之间有何共同点

    13 php进程启动后,为啥关闭终端它就不运行了?为什么

    14 当使用HTTP协议传输如下内容”hello,world”时,它们传输时间是多少?传输字节数是多少?

    15 如何计算浏览器请求HTTP API 接口到 swoole处理返回hello,world响应结束时传输时间是多少以及程序运行时间是多少

    16 如果你接手一个技术项目但你没有用过如docker,es,kafka等,但它出现了无法访问的情况你会怎么办

    17 请说一下守护进程与前台进程的区别

    18 假如公司是个变态要监控用户电脑上的一些重要文件,敏感数据,甚至要在用户的电脑传输一些js无法做的事情,如创建文件/修改文件,读取文件的内容,或是读取用户微信文件目录里的相关照片你有什么技术能搞定。【违法行为,不可以做】

    19 服务器集群或是分布式如何保证数据一致性。

    20.php实现多进程同时写同个文件的方法

    function writeData($path, $mode,$data,$max_retries = 10)
    {
        $fp = fopen($path, $mode);
        $retries = 0;
        do{
            if ($retries > 0)
            {
                usleep(rand(1, 10000));
            }
            echo '等待时间:'.$retries;
            $retries += 1;
        }while (!flock($fp, LOCK_EX) and $retries<= $max_retries);
        //判断是否等于最大重试次数,是则返回false
        if ($retries == $max_retries)
        {
            return false;
        }
        fwrite($fp, "$data");
        flock($fp, LOCK_UN);
        fclose($fp);
        return true;
    }

    21.array_merge 和 array+array 区别

    $arr1=array('name'=>'lxw','age'=>12,'sex'=>1);
    $arr2=array('name'=>'king','age'=>22,'sex'=>2,'tel'=>'123456');
    
    $arr3=array('1'=>'lxw','2'=>12,'3'=>1);
    $arr4=array('1'=>'king','2'=>22,'3'=>2,'4'=>'123456');
    
    echo '<pre>';
    echo '关联数组 - merger: <br>';
    print_r(array_merge($arr1,$arr2));
    echo '<pre>';
    
    echo '<pre>';
    echo '关联数组 - 加号: <br>';
    print_r($arr1+$arr2);
    echo '<pre><hr>';
    
    echo '<pre>';
    echo '索引数组 - merger: <br>';
    print_r(array_merge($arr3,$arr4));
    echo '<pre>';
    
    echo '<pre>';
    echo '索引数组 - 加号: <br>';
    print_r($arr3+$arr4);
    echo '<pre>';

    $arr1=array('name'=>'lxw','age'=>12,'sex'=>1,'address'=>'bj'); //新增address
    $arr2=array('name'=>'king','age'=>22,'sex'=>2,'tel'=>'123456');
    
    $arr3=array('1'=>'lxw','2'=>12,'3'=>1,'4'=>'bj');//新增4键名
    $arr4=array('1'=>'king','2'=>22,'3'=>2,'4'=>'123456');
    
    echo '<pre>';
    echo '关联数组 - merger: <br>';
    print_r(array_merge($arr1,$arr2));
    echo '<pre>';
    
    echo '<pre>';
    echo '关联数组 - 加号: <br>';
    print_r($arr1+$arr2);
    echo '<pre><hr>';
    
    echo '<pre>';
    echo '索引数组 - merger: <br>';
    print_r(array_merge($arr3,$arr4));
    echo '<pre>';
    
    echo '<pre>';
    echo '索引数组 - 加号: <br>';
    print_r($arr3+$arr4);
    echo '<pre>';

    欢迎知道答案的大佬,留言解答!

    赞赏码

    非学,无以致疑;非问,无以广识

  • 相关阅读:
    《Programming WPF》翻译 第8章 1.动画基础
    一些被遗忘的设计模式
    《Programming WPF》翻译 第4章 数据绑定
    《Programming WPF》翻译 第3章 控件
    《Programming WPF》翻译 第5章 样式和控件模板
    《Programming WPF》翻译 第7章 绘图
    《Programming WPF》翻译 第9章 自定义控件
    《Programming WPF》翻译 第7章 绘图 (2)
    《Programming WPF》翻译 第8章 前言
    关于Debug和Release之本质区别
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15452580.html
Copyright © 2020-2023  润新知