字节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

相关推荐

360服务器开发—golang为主  一面  全程45min1.自我介绍2.上段实习(ps:上段实习也是网安行业的,问的比较细)3.golang并发优势4.gmp和gc(ps:回答较为全面)😬😬😬gmp从单进程讲到多进程/多线程,gmp的设计原理和优势,为什么等等gc从算法到gc阶段到写屏障等等5.服务器优化方案ps:当时简单回答了看CPU使用率,看MySQL慢查询日志,用普罗米修斯去监控数据库6.接口性能优化ps:好多方案,大概举例了11种,等我整理链接放在评论区7.es为什么那么快(es问的比较深,好久没看了)答:倒排索引,然后举例讲了一下怎么倒排的,内存数据库,举例高度分页会导致查询速度变低,json数据格式,数据存储小,不确定对不对8.高必发场景下数据如何平滑写入es9.MySQL索引等10.redis数据结构和场景11.redis,hll用过吗360集团2025全球校园招聘今日启动【公司介绍】360成立于2005年,是世界领先、中国第一的网络安全领军企业,互联网免费安全服务的倡导者。【招募岗位】销售运营、算法、开发、运维、视觉设计【工作地点】北京、上海【福利待遇】竞争力薪资+全方位福利+校招生定制培养方案【投递链接】https://360campus.zhiye.com/campus/jobs?shareId=92cfb7e8-2ae3-49dc-b960-cf7ce3c1a6c7&shareSource=2【内推码】ES3C3K(简历优先筛选,后续有流程上的问题欢迎随时联系)填了内推码麻烦留言,我去确认下是否内推成功!岗位+姓名缩写格式~
360集团
|
校招
|
26个岗位
点赞 评论 收藏
分享
头像
10-30 14:44
已编辑
门头沟学院 Java
1. 自我介绍2. java底层数据结构(数组、栈、链表、队列)的特性和使用场景3. 大量数据的存储用哪种方式合适4. jdk8的hashmap底层实现5. hashmap链表转红黑树的触发条件,以及什么时候转回去6. hashmap和concurrenthashmap的区别,以及后者如何保证效率的同时,保证线程安全7. 线程池的核心参数,以及执行顺序8. java里面用过哪些锁9. ReentrantLock的底层实现原理,AQS怎么实现10. CAS里面使用volatile 保证了什么属性实现这种安全性11. 内存中基于什么操作来保证的12. volatile修饰的变量有什么特别的吗13. 双亲委派模型14. jvm运行数据区的构成以及作用15. 垃圾回收算法16. 老年代和年轻代用的什么算法17. Rabbitmq的消息可靠性怎么保证,重复消费问题18. mq怎么保证消息的顺序性19. 怎么实现消息的幂等性20. MySQL中innodb底层索引实现和MVCC,以及MySQL默认的隔离级别21.  redis底层数据结构,为啥使用跳表不用别的数据结构22. redis持久化机制的方式,以及内存淘汰策略23. redis的缓存一致性怎么实现24. 分布式锁用吗?Redisson如何加锁解锁操作?25. spring的循环依赖怎么解决,哪种注入方式可以解决,哪种方式不可以解决26. Mybatis里面的xml如何解析成Spring的bean注入到容器里面的27. 统计每个接口总的调用次数,放在SpringCloud组件哪个位置28. gateway通常用来干什么的29. 做完这些项目最后挑战或者成就感的是什么反问环节。。。。。。ps: 面试官很好,不会的会解释,然后会跟着简历来问问题。10.30  进二面#数据人的面试交流地##数字马力面经##面经#
查看58道真题和解析 数据人的面试交流地
点赞 评论 收藏
分享
8 118 评论
分享
牛客网
牛客企业服务