Maison > développement back-end > tutoriel php > 范师兄的面经

范师兄的面经

WBOY
Libérer: 2016-08-10 08:48:35
original
990 Les gens l'ont consulté
新浪php splautoloadfile_get_contents判断两个数组$a、$btp 和Smarty的区别linux  命令查看Apache打开的端口apache和nginx区别...京东笔试大题:
  • 输入整数n,求m,m>9,m中各个数位的乘积=n的最小整数;如n=36,m=49;
  • 二叉树前序遍历的非递归实现(本文的总结)
  • 求第n个数,这个序列满足(2^i)*(3^j)*(5^k),前7个为:2,3,4,5,6,8,10...
  • 整体不是特别难,除了第三道附加算法题时间没来得及做,其他两道和选择题自我感觉还不错
    一面:
  • PHP有多线程么(没有,但可以通过其他方式实现),怎样理解PHP
  • 对于静态页面文件,是放在ngnix端,还是Server端  (ngnix处理静态页面性能比apache要快三倍以上,所以直接放在ngnix)
  • php写接口,通信方式,socket、http通信实现
  • 两台计算机如何通信,浏览器输入url后,一直到页面呈现,中间服务器都经过了哪些流程
  • 用php做客户端接口应注意什么问题(数据加密、json传输等)
  • json格式数据有哪些特点 (并不能保证安全,对于所有语言都是统一的key-value处理规范)
  • 验证码安全,google破解其他站点
  • md5怎样逆置,其他加密方式的加密、逆置原理
  • 验 证码的原理。验证码的实现原理,如果验证码是存储在服务器session,那如果正在输入的时候,服务器与客户端断开连接,又连上去(session已经 失效),提交后怎样判断验证码正确性(在客户端js中构造和服务器端相同的sessionid,提交时与服务器端sessionid匹配)
  • 数据库主键怎样理解,它是索引么
  • 建立数据库应该注意哪些(表冗余、主键、外键、索引、字段...)
  • 数据库事务是什么
  • 如果正在下单状态,将用户银行卡状态修改为正在使用状态1,下一步付款、修改订单状态时,突然断网怎么办 (面试官期待答案:不是马上回滚,而是在这个地方尝试重试几次,若还不成功就rollback)
  • 请求量比较大时应从哪方面优化提高性能(缓存、页面静态化、sql优化、表结构、水平分割、垂直分割)
  • Linux常用命令 (文件操作命令、vim命令、系统命令)
  • Javascript和jquery的区别
  • 学校活动、个人性格、工作地域调整、薪资等...
  • 腾讯后台开发面

    2.core文件是什么,有什么用?

    答:程序崩溃以后,会把最后的栈信息存在core文件里,方便程序员了解程序崩溃前最后的栈信息。

    追问:如果程序core了,但没产生core问价,是何原因?

    答:没有打开core文件生成的开关。ulimit -c unlimit

    追问:不用core文件,程序出了问题产生信号是否知道?

    答:当时蒙了,现在回想起来,就是内核向进程发信号嘛。没答出来。

    3.共享内存,不使用同步方式,是否可以安全读写?

    答:这一题答偏了,不知怎么扯到fork上去了。这一题应该是不行,共享内存属于临界区,应该要同步,否则两个进程同时操作一个内存区就出问题了。可以使用读写锁来同步。

    4.fork后,子进程保留了父进程的什么?

    答:子进程的内存区是父进程的副本,堆栈等都会继承过来,还有打开的文件描述符等。其实还有很多,比如实际用户ID,有效用户ID,当前工作目录,存储映射等等。

    5.共享内存除了文件映射还有什么方式?

    答:共享内存对象映射。

    追问:二者有什么区别?

    答:不知道。

    6.tcp怎么实现流量控制?

    答:对端告知窗口大小。本端传递的数据量小于窗口大小。(更好的说法是告诉对端本地的窗口的大小,对端传递的数据量必须小于该窗口)

    追问:怎么告知窗口大小?

    答:在ACK的报文里。

    7.编程题(没搞出来,诶~)

    问:一个超长字符串表示的十进制数(大于2^32),转化为十六进制的字符串?

    赶集网面试总结

    面试渠道:小伙伴 @蔚然 内推技术实习岗面试时间:8月14日 下午13:30
    第一面:
    面试方式:2对1   (技术leader和前端负责人)过程叙述:     问的问题很广,php方面、算法数据结构、设计模式、前端、数据库、Linux等。     内容大概有:
  • 当字符串为null时,isset和empty的区别
  • ==和===的区别
  • PHP魔术方法有哪些,作用是什么
  • 用过哪些数组函数,array_merge、in_array的作用
  • 常见的排序算法和查找算法有哪些,数据结构的树、链表、堆、栈,是自己实现过还是只看过
  • 说一下快速排序的最好和最坏时间复杂度 (nlogn   n的平方)
  • 简述快速排序的原理  面试前最好先熟悉一下常用算法和数据结构,另外不可忽略了时间复杂度
  • 二分查找的原理和时间复杂度(logn)时间复杂度第一次回答错了
  • 你熟悉的设计模式有哪些,手写一个设计模式(当时我写的是单例)
  • 数据库中的索引有哪些,数据库引擎区别(MyIsam和InnoDB)
  • 叙述联合索引,和主键的区别(把主键和索引搞混了,囧..)
  • 数据库表优化方法,建表的注意事项和原则,常见数据库字段类型
  • sql注入有哪些,如何有效防止
  • 用过哪些缓存技术,thinkphp的缓存是局部缓存 还是完全缓存 
  • Cookie和Session区别
  • 禁用Cookie后,Session还可以用吗,有什么解决方案
  • 常用Linux命令(我当时从文件操作和vim两方面回答)
  • 是否了解ngnix,和apache作用相同
  • 常见apache配置是否熟悉,apache中的rewrite作用
  • php开发过程中用过哪些编译器(eclipse、phpstrom、zend,一般的sublimeText)
  • 对前端的html、css、js是否熟悉,用过哪些前端框架

  •      第一面结束后问了有什么问题,我问了公司开发过程中使用的技术架构(lnmp)。然后然我等一下,当时心情比较放松,因为感觉除了数据库方面回答不太流 利,其他都还可以。在会议室正纳闷接下来会发生什么,一会儿来了一个气场十足的大牛。接下来的面试有点紧张...
    第二面:
    面试方式:1对1过程叙述:     问的问题很深,感觉平时做项目太偏应用,底层的知识比较欠缺     内容大概有:
  • 解释了一下为什么大学是五年制(囧,每次回答这个问题都要从很古老的一段伤心往事说起)
  • 平时学习的渠道(我说刚开始基础是从书上学习,后面都是项目驱动,然后人直接说了项目驱动的弊端...)
  • 索引的最左前缀原则 (有点熟悉,好像在哪看到过,但是真想不起来了)
  • 为什么要用ThinkPHP,和直接写php比有哪些优缺点
  • 是否阅读过tp源码
  • 既然学习thinkphp,解释一下tp中的hook机制吧(只在新版本更新时候看过,不太熟悉啊,紧张...)
  • 什么是reset ful (呃...这是什么,真心不知道)
  • 解释一下php中的fastcgi,那cgi是什么,cgi和fastcgi的区别 (不太熟悉,唉,硬着头皮上吧)
  • 刚才第一面问过你设计模式了,什么是共享模式 (晕啊,设计模式那么多,好紧张,想不起来了)
  • 解释一下PHP的namespace
  • 你平时开发用的php版本是什么 (顿时好轻松,5.5啊)
  • 你之前做过产品经理,你是怎样理解产品和技术的,你想做技术还是产品 (啊,这个好,论述题,看我的)
  • 平时工作强度比较高可以承受吗  (当然,我们这有正常周末的)
  •      聊了一些比较轻松的话题,后面才知道这一面是故意这么难的,考验技术深入的程度,真是惭愧,顿时觉得会的东西好少,确实最近复习方式和时间安排都有点 乱,还有一些其他的事情让人整个状态比较浮躁,也比较紧张,不再状态,回去好好恶补一下。最后大概说了一下实习薪资是XXXX比较少,我说不介意,然后说 如果我这边都ok的话,回去等hr电话。
         面试过程总共将近两个小时,结束后又和小伙伴聊了一会儿。大概是下午4点多回到家的,没想到赶集很有效率,我还在思考下午面试的怎样,刚到家没一会儿 hr妹纸就打电话过来了,一个比较好听的声音说面试通过,问了什么时候入职。其实我没打算工作,还想着面试完再去其他地方转转,增长一下面试技巧。先答应 着吧,人说下周一和周三什么时候可以入职,我说周三,再容我休息几天嘛。接下来回复offer,心情比较纠结,到底去不去,想想现在也没什么事,就先实习 着再继续准备校招吧。准备入职材料。
    百度

    笔试题型


    百度技术岗的笔试题,是每个大部门自己出题的,所以,每年笔试完都会有数套笔试题在网上流传。
    考察面主要包括:
    1. 基本要求
    语言(主要是C/C++)、计组原理、操作系统原理、计算机网络。如指针运算、字节对齐、函数调用栈帧结构、内存管理、进程调度、网络协议七层模型等。通常以问答题形式出现。
    2. 数据结构及算法
    查 找(典型如二分查找)、排序(典型如快排、外排)、树(典型如2叉树的前/中/后序遍历、trie树)。人品好的话,是题目明确告诉你"请写出2叉树中序 遍历的算法伪码并分析复杂度",这种题目还算简单。不走运的话,题目相对抽象,比如"给定一个存放几亿个整数值的文件,设计一种算法,在满足xx空间复杂 度或xx时间复杂度的前提下,对这些整数做xx处理",这种题目是比较难对付的。所以,大家要有心理准备。这部分通常是写算法伪码。
    3. 系统设计题
    文字描述一段实际的业务场景,要求设计一个系统,能多快好省地实现xxx功能。
    这种题目比较发散,通常,大部分校招学生对这类设计题都不可能有啥经验。基本是凭借自己对系统,尤其是计算机组成原理或操作系统的理解,触类旁通,自由发挥,做到有理有据,逻辑严谨即可。这类题目的考察点通常也不是某个标准答案,而是你分析实际问题的能力。

    如何准备笔试


    虽然笔试的内容通常都是平时积累的知识 但也不可忽视"考前突击"的重要性
    1. c/c++
    推荐教材:c programming language (C语言缔造者写的教材 短小精悍 甩谭浩强叔叔几十条街)、c++ primer、effective c++
    2. 计算机系统
    不清楚交大的教材是那本,学叔自学时用的教材:
    《深入理解计算机系统》 英文名:Computer.Systems:A Programmer's Perspective
    《现代操作系统》 英文名:Modern Operating Systems
    3. 数据结构及算法
    当年交大用的教材是清华严蔚敏教授的《数据结构》C语言版
    找工作前,学叔也是用这本书复习的 
    当然,如果有牛人在啃MIT的《算法导论》或 Donald E.Knuth著的《计算机程序设计艺术》,那算法这块知识点应当没啥大问题了
    4. 临时抱佛脚的面试题
    前面3条列出的资料,都是需要一定时间来消化的。现在从零开始的话,时间显然来不及。所以,学叔这里给出一些资料,权当抛砖引玉。
    1)《编程之美》微软技术面试心得 
    该书总结了互联网公司经常用到的几十种典型算法题,绝对值得好好研究,相比之下,程序员面试宝典之类的国产快餐,就是一坨翔。。。
    2)csdn博客—结构之法 算法之道
    google或百度搜索"结构之法" 第1条搜索结构点进去就是。该blog的博主为算法牛人,建议有兴趣的同学去围观其中的面试算法题。
    此外,该算法大牛的新浪微博号是研究者July,最近在搞面试算法题讲座,可以去关注。校招准备阿里笔试:8月25日

    百度笔试:9月27日或10月12日

    腾讯笔试:xxx

    《剑指Offer》

    《程序员面试宝典》

    《大话设计模式》

    《零基础学算法》前五章

    《编程之美》

    csdn博客—结构之法 算法之道

    《PHP求职宝典》

    《C和指针》

    《Redis入门指南》


    版权声明:本文为博主原创文章,未经博主允许不得转载。

    以上就介绍了范师兄的面经,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

    Étiquettes associées:
    source:php.cn
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal