1、同城邦之前隶属于360公司,是360的分公司。现在逐渐独立了。是一家创业型公司,主要是O2O方面,面试内容如下:1.说说项目(他比较感兴趣的是360老兵的项目,其他项目没看过),询问项目的具体内容,遇到的挑战,具体解决方案,缓存的使用,为什么要用redis,为什么要用独立的文件服务器。2.缓存,问了memcache和redis的区别,redis的优点。如何解决memcache命中率低的问题,询问了实际项目中memcache的命中率。redis服务器是否已经部署。3、svn和git的区别,说说具体的工作流程,使用git的好处,以及如何处理冲突。写了两个基本命令。4、数据库(1)数据库的存储引擎,myisam和innodb的区别,以及除这两者之外的其他存储引擎。(2)int和bigint的区别,实际使用中选择哪个作为主键?int(10)和int(11)的区别,var_char和char的区别(3)数据库设计,user表和login表分离的好处,5,php部分(1)session和char的区别cookie(2)如何分配解决session共享问题(可以从数据库、ccookie存储session、nosql解决)(3)get和post的区别(4)php的__autoload机制6、计算机网络(1)三次握手,四次挥手的过程(主要是画图),各参数的含义(二)http和https的区别,如何保证https的安全(结合ssl)7、数据结构(一)链表的结构(线性和链式),插入一个元素的操作代码(纸上写)(2)排序部分,时间复杂度,写一个排序算法。(3)二分查找的思想,时间复杂度8,开发环境,linux的常用命令,apache和ngiax的区别,平时的开发环境是win还是linux等等面试心得:技术面试是关于50分钟,挺累的,,,,还有个问题就是住宿,交通,毕业,实习时间,到达时间等等,hr人不错,面试整体不难,都是常用的事情,算法应该很容易编写。2.新浪微博,一家互联网公司,以服务大中华地区和海外华人为己任。2012年11月,新浪注册用户突破4亿。面试内容是一套卷子,约6张(单面),试题大致如下:1.为什么要加入新浪,你对新浪的印象2.未来的计划,目标,计划?3、你有微博吗,昵称是什么,有多少粉丝?4、填空:(主要写结果)(1)判断null的函数(2)判断变量是否存在的函数(3)判断是否为空的函数5、PHP将json转为数字:组函数6.PHP获取前一天日期,格式如下(2015-08-2410:20)然后写入文件/usr/test7.提取url,需要从中提取url部分《sina》(需要两种方法)8.连续子数组的最大和,例如输入数组为{1,-2,3,10,-4,7,2,5}和最大子数组{3,10,-4,7,2}sum为189。写下常用的linux命令函数:top,ps,mv,find,df,cat,chmod,chgrp,grep,wc10,写查看80端口的命令在linux11,有一个ip日志文件,每行一个ip,统计某个ip出现的次数12.数据库设计,有发布文章的数据字段:文章id,文章标题,publisher,分类id,子分类id,locationid,creationtime,status问题:(1)画数据库设计图(表之间的关系),表可以自己加,说明这样设计的目的,好处(2)写创建文章表的语句,说说依据用于选择字段。(3)写出sql语句,找到最近10篇文章,说说优化方法。13、系统设计场景:现在我们要搭建一个用户日程提醒系统。要求如下。它可以记录用户每天的日程安排。当代理时间表到达时,将以短信或电子邮件的形式通知用户。用户可以查看历史时间表并管理自己的时间表。日程(增删改查),用户有好友,可以查看好友发布的日程,可以和好友聊天。要求:1:考虑并发。2:用户数千万级,调度数1亿级,10亿级别3:保证安全,首页流畅4:使用缓存服务器问题:(1)你认为是什么本系统的难点(2)本系统各模块之间的关系,(3)本系统实现的具体细节(缓存,大数据)(4)如何保证系统的安全性(技术方面):1.主要是本系统的数据表设计2、本系统在用户较多时可能响应较慢。如何解决问题?答:使用缓存解决频繁的数据库查询、用户关系和好友历史行程。我的历史时间表可以缓存。他问友谊是什么时候发生的。怎么处理变化,一开始我说清缓存,下次查询直接查数据库,他说这样不好,数据库压力瞬间变大,我再想一想,我说说清除缓存Cache后可以恢复数据库,他说,不是最好的解决办法。最后他说可以先更新数据库,然后根据更新的友情更新缓存(少查一次数据库,其实很简单)。3、本系统首页加载慢怎么办?一开始我说页面应该是静态的。他说首页是动态加载的,静态页面没有效果,反而会拖慢系统。文件IO需要消耗性能。让我想想还能做什么。我说的是缓存首页数据,但是要注意缓存的更新时间。4.登录问题。系统登录速度慢。你知道为什么以及如何解决它吗?我觉得应该是用户量太大,登录的sql语句没有优化,或者没有索引。他说加个索引,SQL优化到最好,但是有什么问题呢?我说是用户数太大,超过了mysql单表的容量。他问如何解决。我说可以水平拆分,缓解数据增长的压力。他说什么是数据库拆分?水平拆分和垂直拆分有什么区别?我说垂直拆分解决的是表之间的IO竞争,不是单表。中间数据量增长的压力,把不相关的表放在其他服务器上,水平拆分解决单表数据量增长的压力,不解决表间的IO争用,我觉得我不是太懂,他说怎么按什么拆分(我只知道拆分)我说可以按时间拆分,他说这种拆分没用,他说再想一想,我说我觉得还可以,拆分之后单表数据变小了,查询一定要快。他说你登录的时候怎么判断用户在哪个表?我说用户和分表的关系在hash中hash到一个表中。他说不是最好的方案,hash很麻烦。您需要确定要搜索的表。..他让我再考虑一下。从存储过程和数据库缓存的角度,他最后说不好用。他说可以把用户名分表,用户名(a-z)分26个表。当你登录时,你可以找到他戴的手表。这个问题讨论了大概30分钟,回答得不是很好。5.第三方登录问题。他问我有没有做过第三方登录。我说我自己试过,用QQ做第三方登录,主要是调用腾讯提供的接口。他问我第三方登录的原理。认证方面,原理方面,我们来说说https安全传输的原理。6.Interface他问我有没有做接口。我说我做到了。他问接口是怎么判断用户登录的。我说是生成token。他问token的生成原理,token的安全性怎么解决,token被劫持了怎么办,有没有什么好的办法。我不知道如何处理被劫持的令牌。我可以检查这个。反正当时也没想到什么好办法。我从代币生成规则、过期时间、添加代币等方面进行了回答。他说没关系。两面:(技术、项目面试)1.问我为什么要加入新浪微博2.说说项目的情况。他问了360一位抗战老兵。他访问了这个网站,询问了系统测试、开发细节和缓存等问题。挡题,我问的是mc和redis的区别,内存管理的区别3.访问我的个人网站,说可以下载网站的结构和部署4.问我想做什么工作寻找。我说我要找网站后台。或者app界面开发的工作5.问我有没有学到新东西,想学什么新东西。我说可以看看nodjs,想关注下php7。总结:技术面60分钟左右,主要是数据库,感觉自己回答的不是很好,第二面也是技术面,主要是项目(360老手,大家比较敏感thisproject),采访一直持续到12:30左右。总体感觉还不错,题目都是关于数据库优化,分表,大数据处理方法等等。最后让我等第二天的结果吧。第二天HR打来电话说面试通过了,说实习的事。周一上班,周二办手续。爱美的女性用户提供最流行的时尚购物体验,女性注册量超过1亿。面试内容是一套试卷。试题如下:1、mysql索引是一种什么样的数据结构,为什么要使用这种数据结构。2.设计一个数据表来存储url信息。插入和删除操作经常发生在这个表中。应用场景是查找某个url是否存在。请写出表结构并说明。3.比较单词a和b,判断单词b的字母是否在a中。4、编写一个定时器类,用于统计应用程序的运行时间,并编写调用方法。5、session和cookie的区别,表示禁用cookie后session是否还能运行。6、新浪微博一年产生的数据量是多少,这些数据应该如何存储。7、状态:204、304、404的含义,可以参考(http://tool.oschina.net/commo...)8、介绍一下你知道的开源项目(技术面):1、介绍php魔术方法2.索引的最左原则3.数据库sql优化,哪些sql语句执行会忽略索引。4.策略题:4人过桥。A用1分钟,b用2分钟,c用5分钟,d用10分钟。两个人同时过桥。走完桥,把手电筒一个人送回去,问最快过桥需要多长时间。两面(技术方面,问题):1.说说项目,360老手。2.浏览器输入url显示页面,流程通过,3.mc和redis的区别,内存管理。三面(hr面):hr是个漂亮妹子,聊的很开心,主要是工作计划,生活住宿,大学学习经历,知不知道美丽说这家公司等等。最后放回去等通知。总结:美里说公司挺大的,但是一方面感觉在数据库上还是有点吃力,主要是数据库底层的讨论不是很好。关于攻略类型,如果没见过,基本上是打不出来的,但也不能说不知道。你应该给出你自己的意见,即使它不完全正确。最后还是回去等通知。他们说今天还有一个hr没来。如果我觉得还可以的话,26号会打电话给我过来复试。..最后他真的打电话给我,让我去复试,是27号。4.360金融笔试题:1.记下PHP中array_开头的函数,并说明用法,至少6个。2.mysql常用的存储引擎,说出3个以上,记下每个应用场景,优缺点3.redis和MC的区别,写其中一种内存管理机制4.查看Apache80端口的命令5.用C语言实现php中的base64编码功能6.用PHP写quicksort面试题:1.微博reids的应用场景,redis的内存分配机制,为什么redis的使用不适合MC,mc和redis哪个并发度更高2.array_map,array_merge的使用场景(),合并数组后键名发生变化3.php的几个编码函数(json_encode,http_build_query,urlencode等)的区别4.的含义。*+/inregularexpressions5.给定一个数字,将二进制转为十六进制问题:1.打印前一天的日期和时间格式:2016.03.1810:15:12,打印前一天的最后一天的日期月2.说出empty()和isset()的区别array_key_exits();3.浏览浏览器地址栏输入www.baidu.com后会发生什么,以及使用的协议4.从连接中提取url5(
