字节PHP/Golang社招面经

一面(约1h)

  • 在面对未知的流量暴增,可以预先怎么处理
  • 如何限流,限流算法,对于ddos攻击怎么处理
  • PHP数组的底层实现
  • 分布式事务
  • RPC相对于传统的API调用的优点
  • 服务调度中心的感知与动态上下线
  • MySQL的索引,为什么是B+而不是平衡二叉树
  • 索引查找在Linux的磁盘上是怎么操作的
  • 聚簇索引相对于B+索引的优点
  • 如何分析SQL执行慢的原因
  • Redis连接时的connect与pconnect的区别
  • Redis有哪些结构时间复杂度较高
  • Redis hash的实现

算法题: 在1个10G大小的文件中,存储的都是int型的数据,如何在内存使用小于8M的情况下进行排序
设计题: 以微博为例,有1个亿的用户,同时用户之间有关注和粉丝,用户的关注和取关操作比较频繁,如何设计架构和API接口

二面(约1.5h)

二面主要以自己的项目为切入点,进一步考察你对项目中知识点的把握程度,我这里是以一个 自己撸的小项目 进程管理工具 为项目背景

  • 守护进程是什么,怎么实现
  • PHP是否适合做守护进程,为什么(内存管理这一块)
  • PHP的垃圾回收机制
  • 进程间通信方式
  • 共享内存是怎么实现的
  • 怎么查看Linux服务器的负载,及判断哪些操作引起的负载过高
  • MySQL的IO过高怎么优化,分库分表及分区
  • MySQL的索引结构,myisam的索引结构, innodb的索引结构,innodb为什么必须要有主键索引
  • 添加索引,为什么可以减少io操作(磁盘页)
  • nginx的负载均衡算法

算法题:查找一个字符串中最长的无重复字串

上面是我基本还记得的一些题目,考察的力度相对比较深,所以,请选择一个自己比较熟悉的项目,因为面试官是会剖析到底层的

三面(约0.6h)

三面与二面的内容差不多,没有更深的问题,但是,需要注重细节,同时三面面试官有时间会放烟雾弹,坚定自己的立场就好

面试题: 在一个横向和纵向都是递增的有界二维坐标轴中,如何快速判断某个数是否存在于这个二维坐标中
面试题:设计一个定时任务管理器(从我同事那打听到的,我只有上面一个算法题)

Hr面(约0.5h)

hr小姐姐:你有什么心仪的公司吗
我: 大厂,类似于BAT这种
hr小姐姐:为什么呢?
我: 我感觉 阿里的架构不错,微博鸟哥待过,技术架构肯定吊吊的……
hr小姐姐:你跟我在北京面的其他候选人都不太一样啊,他们都不屑于去这些公司,感觉想进就进,他们比较倾向于滴滴,头条这些年轻,发展比较快速的公司
我:卒……

总结

头条面试,算法是必考项,但是面试官都是让我给出思路,也没写多少行代码
涉猎范围一般,基本就是Redis MySQL ,Nginx比较少,可能配置简单吧
深度较深,很少人会去关注PHP的垃圾回收,何为垃圾,线程安全,array的HashTable实现这些内容, Redis Hash表等

#字节跳动##golang工程师##PHP工程师##社招##面经#
全部评论
大佬应届生?
1 回复 分享
发布于 2019-12-20 16:45
卧槽,一面直接凉了,我他么这也太夸张了把
2 回复 分享
发布于 2019-12-21 19:31
这确定不是架构师面试吗😂
点赞 回复 分享
发布于 2021-03-18 18:56

相关推荐

05-08 15:16
已编辑
门头沟学院 golang
  某四线城市的0-20人的小厂,这里不多说全程接近50min面试问题:1、简要介绍一下你自己2、拷打项目:第一个项目做了一个类似于淘宝的电商网页(1)说说你的项目的注册登录,Session 和cookie怎么搞的。(2)你的项目注册流程,加密解密流程,用了什么算法,算法是怎么实现的?根据你回答的md5 码加密,说说用的什么算法,怎么实现的?你加密过后存储到数据库中,用户登录的时候是怎么取出判定用户登录的,解密一个还是全部都解密?项目答得一般,算法没答出来,加密解密流程给他扯了很久,自己都绕晕了。没搞明白面试官到底要扯什么……第二个项目,Linux的进程管理器(1)说说你的进程管理器主要有哪些功能?(2)能说说进程和线程的区别吗?(3) Linux系统中你的那个进程是如何实现这些操作的的?答:简单介绍了exec 族函数和系统调用方面,举例如:通过kill 命令传输一个值,传递信号然后实现追问:信号是怎么实现的,进程为什么收到信号呢?答:哥们不会🤡追问:Linux系统输入输出传递了什么信号?答:不会,煮波给面试官鬼扯了,我寻思输入输出不是系统调用?被大大的羞辱🤡(看来你Linux也不是很会啊)(4) 怎么创建一个父子进程?还行追问:说说父子进程怎么实现的,父子进程有哪些区别?答得还行追问: 子进程继承了父进程的那些东西?答得一般追问: 子进程那些东西是单独的不会被继承的?答得一般3、拷打408(1) 说说广度优先和深度优先的原理,怎么实现的?这里答得还算不错追问:会动态规划吗?讲讲动态规划?不会(2)哈希表底层是怎么实现的?数据结构是怎么样的?到这个问题我已经快红温了,说了哈希表底层是通过数组映射,然提了一下桶,后续的煮波不会🤡,被面试官说你哈希表都不会,羞辱x1🤡(3)说说有哪些排序算法,你熟悉的,给我讲讲。(4)操作系统之前和Linux那个项目拷打了,就没问了(5)说计算机网络吧,我从浏览器打开一个网页,网页显示出页面内容,这个的底层流程是怎么执行的?说出对应的协议。答:首先会经过域名解析协议找到ip 地址,通过ip 地址再去发送http/https请求,再经过层层封装tcp 或者udp ,ip 数报,经过数据链路层的封装最后以太网发出去。个人认为答得一般,被羞辱x2 🤡追问:TCP数据报有哪些内容?答:简单的提了一下首部字段20字节这种,后续有什么扩展,路由协议啥的。追问:域名解析用的什么协议,该协议用的什么传输层协议?还行4、八股(1) go中的哈希表和库函数中的哈希表有什么区别?这里还行(2) 这两个底层有什么不同?羞辱x3🤡(3) 说说channel 有缓冲和无缓冲的区别?还行(4)如果有1000个同时访问channel ,你该如何保持channel (记不清楚了,问的类似channel 怎么实现并发的)羞辱x4🤡会议时间不够了,没问了,感谢救我狗命反问: 1、实习最短要求多久?2、工作时间怎么样的?说5月加班还是有的,这个月项目做得差不多了就不会加班了(有点不信)3、公司是做什么的?4、了解了一下薪资:踢皮球,说HR才知道已挂……面试体验:没想到四线城市的小厂竟然问这么多,全方位的拷打,老实了      
查看28道真题和解析 面试问题记录
点赞 评论 收藏
分享
05-27 10:39
已编辑
门头沟学院 golang
  全程30min,进了公司还要填一大堆个人信息等表,查户口都没这么详细1、常规的介绍自己追问: 打比赛,做项目做了哪些?追问: 问大三家常。追问: 根据你自我介绍做的专利,比赛项目是啥样的,比赛获奖了没?追问: 这个项目用什么写的?(Java)追问: Java的多线程写过没有?(没写过,煮波Java真不会)(2) 你觉得你配12K吗?(3) 说说你认为你配多少K?题外话: 问这两个问题,我的表情就是这样😊,实则内心🌚2、 八股(1) 说说go怎么实现并发的?(2) go协程用什么实现并发通信的?追问: 协程底层是怎么执行的?(3) go的通信中共享内存和其他的共享内存中通信怎么理解?(4) 说说go的类型传递?追问: 为什么slice,map,channel是传递引用?(5) goroutine通信有哪些方式?(6)说说channel。追问: 说说有缓冲和无缓冲(7)说说内存逃逸。(8) MySQL中怎么查询?说出具体查询语句。(9) MySQl怎么插入?说出具体插入语句(10) MySQL事务介绍一下?追问: 事务有哪些性质?(11) MySQL索引怎么实现?(12) MySQL怎么实现事务?说出go实现的具体语句流程(13) MySQL的三大范式?解释一下。面试体验: 1、问题问得还行,有些很基础的题忘了。2、个人觉得面试官某些问题问的不是很友好,可能是想探探口气(我反手说不配,我就值6-8K)其他方面挺好的,会给你解答你没答上的问题和纠正你答错的。3、没有给反问的机会,直接说面试结束了,感觉不是很友好。已挂……
查看48道真题和解析
点赞 评论 收藏
分享
评论
8
119
分享

创作者周榜

更多
牛客网
牛客企业服务