百度电面总结

百度电话面试

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.服务器方面和操作系统方面。

原文地址:https://www.cnblogs.com/koocookie/p/7056107.html