新浪
php spl autoload file_get_contents 判断两个数组$a、$b tp 和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的作用
- 常见的排序算法和查找算法有哪些,数据结构的树、链表、堆、栈,是自己实现过还是只看过
- 说一下快速排序的最好和最坏时间复杂度 (nlognn的平方)
- 简述快速排序的原理面试前最好先熟悉一下常用算法和数据结构,另外不可忽略了时间复杂度
- 二分查找的原理和时间复杂度(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入门指南》