• 百度电面总结


    百度电话面试

    1 自我介绍

    2 php的数组函数有哪些?

       好多,大家自行看书。

    3 自动加载类的方法?

       __autoload()

       方法如下: function __autoload($class_name){

       require($class_name.".php");
       }
       类名和文件名之间具有一种统一的对应关系。
       注意修改php.ini中的include_path中的路径。

       spl_autoload($class_name,$file_extension)

       优先使用autoload_func是否为空,如果为空则运行__autoload()如果没有则报错.

    4 php-fpm是什么?

       php-fpm是一个php的fastcgi管理器,Nginx使用这些php-fpm进程来和php通信。php的解释器。

    5 nginx如何解析PHP脚本?

       1.nginx启动时,载入php-fpm(php的fastcgi管理器)。
       2.php-fpm自身初始化,启动多个cgi解释器进程。
       3.client请求到server后,php-fpm选择并连接一个cgi解释器,webserver将cgi环境变量和标准输入发送到php-fpm中的子进程php-cgi中,调用对应的PHP脚本进行处理。
       4.子进程完成处理,将输出信息和错误信息从同一连接返回webserver,当子进程关闭,请求完成。

    6 tcp三次握手

       1.client向server发送一个SYN=1,seq=x随机选择初始序列号的tcp请求.
       2.server收到这个请求后,缓存这个tcp请求和变量。然后向client发送SYN=1,ACK=1,seq=y的回应请求。
       3.client收到server的同意建立连接的请求后,给服务器发送ACK=1,seq=x+1的请求报文。连接成功建立。
       备注: 1.在前两次握手中报文不携带数据,第三次握手可以携带数据。
                2.由于第二次握手时,server会缓存tcp请求和变量所以会遇到DoS(拒绝服务攻击)即只是给server发送大量的一次握手报文造成server大量缓存,导致资源耗尽。

    7 线程安全

        多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。

    8 C语言内存管理

       内存空间主要由五个部分组成代码段、数据段、BSS段,堆和栈组成.其中代码段,数据段和BSS段是编译的时候由编译器分配,堆和栈是运行时由程序分配。

       代码段:存放程序执行代码的内存区域,通常为只读。
       数据段:存放初始化的全局变量和静态变量的内存区域,属于静态内存分配。可以分为只读数据段和读写数据段,字符串常量等存放在只读数据段。
       BSS段 :用来存放未初始化的全局变量和静态变量,属于静态内存分配。BSS节不存放数据只是简单的维护程序开始和结束的地址。
       堆:是动态分配的内存段,malloc函数开辟新内存(加入堆中),free函数释放。 特点:灵活方便,数据适应面广泛。缺点:效率有一定降低。
       栈:存放临时创建的局部变量的(函数中定义的,不包括static),在函数调用的时候参数和返回值都会存在栈中。 特点:速度快高效。缺点:大小有限制不灵活。

    9 strcpy和mecpy区别?

       原型:char* strcpy(char* dest, const char* src);
       strcpy只用于字符串复制,并且它在复制字符串内容之外,还会复制字符串的结束符。

       原型:void *memcpy( void *dest, const void *src, size_t count);
       memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制

    10 C语言全局变量和局部变量的存储位置?

       全局变量存储在数据段或者BSS段,局部变量存储在栈中。

    11 判断链表相交

       判断两个链表的最后一个节点是否一致。

    12 相交链表的第一个结点

       长的链表先走(长-短的距离),然后两个链表一起走,每走一次比较一次第一个相同的点即是。

    13 将字符串中空格替换为20%

       统计字符串中空格的个数,然后计算替换后的长度。从字符串的最后一个开始遍历遇到空格则将20%写入,否则将字符写入。
       注意:问清楚是在原来的字符串空间里进行替换还是开辟新的空间。


    问题总结:

       1.开场白要突出项目的技术亮点和难点。
       2.百度注重基础和算法。
       3.服务器方面和操作系统方面。

  • 相关阅读:
    性能瓶颈调优(转载)
    jmeter用Firefox录制https协议证书问题解决(转载)
    Jmeter之性能测试类型
    Jmeter调度器配置(转载)
    性能测试监控:Jmeter +InfluxDB +collectd +Grafana(十六)(转载)
    Jmeter之性能压测Stepping Thread Group 逐步增加并发数 阶梯式加压并发 (十五)(转载)
    Jmeter之性能测试插件PerfMon Metrics Collector监听器,实时监听服务器资源(十四)(转载)
    Jmeter用Jmeter自带录制工具代理录制手机端应用脚本APP脚本(0十三)(转载)
    python在windows下连接mysql数据库
    码农在线工具资源
  • 原文地址:https://www.cnblogs.com/koocookie/p/7056107.html
Copyright © 2020-2023  润新知