分享些面经回馈牛油(PHP研发工程师/Java研发工程师)

简单说下目前的状况
中兴(get)
华为(get)
百度(get)
贝壳(三面完等结果)
远景(hr面挂)
阿里(二面完没反应)
oppo(get)
shopee(get)
浦发(接到体检)
bigo(一面完没反应)
流利说(一面挂)
疯狂游戏(一面挂)
猿辅导(二面挂)
美团(二面挂)
tx(一面挂)
星环科技(一面完等后续现场面)
ihandy(二面有事没参加)
小米(get)
字节(get)

下面分享面经


oppo(现场面2技术 1hr)PHP开发

一面

1.自我介绍,项目问答
2.redis单线程多线程?原因/有什么好处?如何实现高效?
3.redis能否当消息队列,用过哪些中间件消息队列,有什么不同?
4.PHP底层实现,运行过程?
5.PHP如何实现多线程?
6.PHP语言特点?与java最大区别?
7.PHP如何实现并发?
8.如何保证client端代码安全?

二面

1.项目详细问答,具体漏洞类型代码举例,画出抽象语法树。
2.画TCP四次挥手,标记time_waitclose_wait,分别说明作用,time_wait的时间。
3.手写快排

中兴(专业面试 综合面试)java开发

笔试

编程题:

1.二重背包问题。

2.给定数组按数字出现的频率由高到低排列数字。

一面

半小时聊项目 十几分钟聊天 数据库视图解释


远景(2技术 1hr)java开发

一面

1. 自我介绍

2. 项目介绍

3. JVM模型?

4. JVM如何调优,有哪些监控工具?

5. HashMap查找原理?

6.自己如何设计一个HashMap

7. ArrayList与LinkedList区别?使用场景?

8.ArrayList如何优化(知道数据数量情况下)?

9. 线程和进程区别?

10.是否使用过java多线程?

二面

1.讲项目
2.100亿手机号如何去重
3.访问数据库请求过慢可能原因是什么

hr面崩了,问我了不了解他们公司,上没上过他们的官网,然后我手里拿了哪些offer


猿辅导(2技术)java开发

一面

1.项目介绍

2.int与Integer区别,给数量庞大的数字使用Integer创建是否会对重复数字创建新对象?

3.java垃圾回收算法有哪些,现在商用主要使用哪种回收算法?

4.算法:二叉树打印所有和为某值的路径。

5.算法:数字中查找第k大。

二面

1.自我介绍

2.谈谈对staic认识,有什么好处和缺点?

3.谈谈线程池,核心线程数和最大线程数分别指什么?

4.什么情况下会使用多线程?

5.如何保证多线程工作时变量的一致性?

5.锁有哪些类型?

6.sychronized属于乐观锁还是悲观锁?实现原理是什么?属于对象层面线程还是进程层面?

7.Lock与sychronized区别?

8.什么是死锁?

9.是否了解原子类?

10.什么是CAS?原理是什么?

11.算法:实现CAS

优化:如何解决ABA现象

12.算法:旋转数组查找元素

流利说(电话面)java开发

一面

1.同步和异步概念

2.swoole特性

3.redis项目中作用

4.redis数据结构有哪些

5.redis订阅发布功能

6.Mysql索引作用,底层实现

7.post与get区别

8.http基于什么传输层协议实现的?一次http连接成功后断开重新进行第二次http连接是否需要重新tcp连接。

9.https实现,ca证书作用

10.对称加密与非对称加密

11.链表是否有环,若有环如何求环长度

12.小明去书店买4中参考书,每种书价格为35711,他有70元钱,在保证每本书至少买一本的情况下画完全部钱有多少种买法。

疯狂游戏(电话面)java开发

一面

1.java线程池?

2.Nosql使用

3.手写观察者模式

4.解释观察者模式工作原理

4.是否了解ES6webpackvue等?

5.项目介绍?

6.是否有转前端的想法(后端名额较少,前端空缺较大)

贝壳(现场面2技术 1hr)PHP开发

一面
项目介绍
php中empty作用
了解的数据结构
口述树前序遍历
口述树中序遍历
口述层次遍历
lamp网站请求过程中做了什么
tcp头是否了解
http状态码
tcp断开连接做了什么
代码  约瑟夫环
mysql索引
数据库acid,索引触发有什么原则
数据库隔离级别
innodb如何解决幻读问题
laravel用了哪些设计模式
手写单列模式

二面
1.自我介绍
2.项目介绍
3.mysql与redis区别,使用场景
4.epoll原理
5.设计秒杀系统,考虑正确性,以及服务器不挂机如何设计
6.代码 两个数组中只存在1个不同元素,怎么找出来
7.讲笔试第三题思路

星环科技(电话面)java开发

一面

1.项目介绍

2.数组与链表区别

3.快排时间复杂度,堆排时间复杂度,快排空间复杂度(递归实现),堆排序空间复杂度。快排原理?堆排原理?

4.建堆的时间复杂度?

5.JVM的GC机制?是否碰到过由于GC导致问题。

6.Java异常种类?

7.工厂模式,使用场景?***模式?单例模式?

8.是否使用过数据库事务?ACID指什么?

9.隔离级别?分别含义?

10.是否了解过大数据相关知识?

11.业务介绍。


百度(不知道哪个部门)PHP开发

一面

1.http1.0,http1.1http2.0

2.协程原理,用户态还是和心态

3.分布式一致性如何保证,存在延迟不一致如何处理,数据延迟如何处理。

4.口述快排。
然后就是长达50min的场景设计,记不清了,反正被恶心到了。。。

百度(百度云3技术)PHP开发

一面

1.项目 自我介绍介绍

2.Java中的final的用法

3.JVM结构

4.java写程序如何进行异常处理

5.当异常抛出到最上层需要如何处理

6.描述堆的结构

7.堆排序实现策略

8.比较快排和堆排序时间复杂度最好最坏情况,空间复杂度。

9.Linux基本命令是否熟悉

10.log目录中有大量log文件,找出最近10天内未访问的文件。

11.系统cpu使用压力过高,如何排查或哪些进程造成原因。Top能检查到哪些关键参数。如何按照进程使用内存或cpu占用时间进行排序。

12.有无遇到自己写的程序造成内存占用过高情况。

13.从一台server访问另一台server出现unreachabel报错如何排查网络那个部分出现错误。

14.TCP与UDP区别

15.UDP使用场景(计算机系统中使用UDP),在什么情况下优先考虑使用UDP

16.协程有无了解,实现原理,处理网络连接有什么优势。Java开发过程是否用到。


1.用什么命令查文件中关键字,大小写是否敏感,如何查找某个范围

2.前中后序遍历二叉树,非递归中序遍历

3.http请求方式,getposthead有什么区别

4.如何设计服务端日志,需要记录那些字段。
然后又开始了愉快的场景设计

三面

1.项目
2.手撕:用非冒泡的两种方法对数组降序排序
3.手撕:用O(n)时间复杂度对数组降序排列
4.8个金币,7真1假,用天秤几次可以称出

百度(不知道哪个部门,1面挂)PHP开发

一面
1.编码:十进制转二进制

2.编码:数组实现队列,用最小时间复杂度获得当前队列中最大值

3.500w个手机号和用户信息,如何设计数据库存储

4.10亿个数,机器内存512m,如何找所有重复整数

5.各种排序算法在哪些场景使用,如归并排序,快排,冒泡排序

6.是否了解大小端,代码如何实现大小端

7.判断两个链表是否有公共节点?有哪些可能异常。

阿里(新零售2技术)java开发

一面

1.自我介绍

2.项目介绍,难点,挑战,职责,核心技术(3个)

3.链表和数组区别。

4.两个链表判断是否相交。

5.线程池。

6.排序算法有哪些,一般怎么选择。

7.一个文件有许多英文单词,如何统计出现频率最高前10个。

8.b 树是什么。

9.线程进程区别。

10.线程池概念。

11.是否有发表论文。


二面

1.java里listsetmaphashmap区别,使用场景

2.String,StringBuffer,StringBuilder区别

3.如何在大数组中找到从小到大第一亿个

4. thread local是什么,如何使用

5.csrf原理

6.servlet生命周期

7.Spring的AOP原理

8. JVM的GC算法有哪些

9.cpu占用过高排查思路(使用哪些命令)

10.线程池

还有两道编程忘了

ihandy(1技术)java开发

一面

1.自我介绍

2.项目介绍

3.项目2

4.谈谈对redis的了解

5.redis单线程如何保证高效?I/O多路复用有哪些方法,使用过哪种?

6.php有无实现I/O多路复用的方法?java下是否有?

7.WebSocket内容?属于哪一层?基于什么实现的?

8.TCP在哪一层?OSI五层分别是哪些?各层功能是什么?都有哪些协议?

9.访问百度过程中各层做了什么?

10.2核cpu4g内存使用redis最大QPS是多少?

11.进程间通信方式?共享存储如何实现?

12.进程和线程有什么区别?

13.I/O多路复用,线程,进程间有什么关系?

14.select工作机制?针对进程还是线程?

15.算法:无序数组找出前k大方法,时间复杂度?为什么是这样的时间复杂度?有无其它方法?计数排序空间复杂度有无办法优化?

16.1t文件中每行存一个单词,使用内存为256M的机器如何统计频率最高的10个词?

17.最近遇到什么挫折?

18.未来发展方向?

19.用3个词形容自己优点?3个词形容自己缺点?

20.有无实习意向?

21.对公司选择考虑什么?

bigo(1技术)java开发

一面
1.操作系统管理哪些内容?

2.内存管理方法有哪些?空闲地址链表概念?

3.段式,页式,段页式含义及优缺点?

4.页面置换算法有哪些?LRU如何实现?

5.怎么理解线程和进程,它们之间的关系?

6.多线程如何保证线程安全?

7.线程安全实现的其他方法?

8.sychnized是否是可重入锁?

9.一般在什么情况下使用锁?

10.读操作是否需要上锁?如何实现?

11.乐观锁悲观锁概念?

12.有无一种机制读时不上锁,写时上锁?

13.生产者消费者模型?如何用java去实现生产者和消费者?

14.select和epoll的区别?epoll如何实现不轮询方式?

15.线程状态有哪些?创建一个线程后进入什么状态?创建完线程后如何调用线程?什么情况下会进入block状态?

系统调度获取cpu时间片

16.描述一种死锁的场景?死锁的本质?

17.java数据结构了解哪些?Map使用hashmap还是hashtable多些,二者有什么区别,针对增删改查哪种效率高?

18.是否知道哈希冲突如何解决?javahashmap冲突用哪种方法解决?

19.concurrenthashmap与hashtable区别?

20.链表数组优劣,使用场景?

21.什么时候会使用堆栈?

22.了解哪些树?二叉平衡树概念?二叉搜索树?二叉排序树?二叉平衡树基于什么衍生出来?二叉排序树缺点?

23.数据库什么是外键?

24.索引概念,主要作用?如何实现加速查询?

25.TCP三次握手过程?传输过程中如何做流量控制?扩大窗口缩小窗口机制?

26.TCP与UDP区别?使用场景?

27.如何可靠化UDP

28.个人爱好?访问哪些技术网站?自己是否有写博文?


shopee(2技术 1hr)java开发

一面

1.代码:“1223345677881”,字符串去重?时间复杂度?

2.浏览页面过程clientserver做了什么?

3.Accept发生在TCP三次握手的哪个阶段?connectlisten函数?



4.Http常见的状态码?

5.项目问答?

6.redis数据类型有哪些?应用?

7.有序集合底层实现?跳表如何实现?做了哪些优化?

8.图遍历方法?分别解释如何遍历。

9.PHP解析整体流程,如何进行性能优化?

10.解释swoole

11.了解或使用过哪些锁?

12.死锁含义?何时会发生死锁?如何避免死锁?

13.看什么技术方面书?

14.http与https,https如何实现加密

二面


1.项目介绍

2.手写代码图广度优先遍历

3.手写代码二叉树广度优先遍历(限时7min

4.介绍Java常用机制了解哪些,简单介绍。

5.Http常见状态码及含义

6.从文件打开到编辑代码并执行操作系统做了哪些事

OS启动核心进程,创建子进程后获取CPU时间片,通过查询文件并执行osI/O操作打开文件进行编辑后编译执行,最后执行I/O操作输出执行结果。

7.数据库事务ACID指什么,含义?

8.性格优缺点

9.公司平台选择有什么要求

浦发(1技术)java开发

笔试
1.leetcode两数之和
2.字符串移除奇数位置字符
3.字节转16进制

面试
1.扯项目,每2min一次问我要不要转安全岗,烦的一批
2.然后问了个java异常类型,什么情况会发生,怎么处理
3.代码:括号匹配

美团(2技术)java开发


美团一面
    进程线程区别
    什么是临界区?
    如何访问控制临界区
    段,页分别是什么?有什么特点?
    tcp和udp区别?是那一层协议
    基于udp的应用层协议有什么,基于tcp的有什么?
    画三次握手,四次挥手,握手能否两次?能否四次?
    挥手为什么是四次,三次会怎样
    数据库隔离级别,分别解决什么问题?
    什么是脏读?什么是不可重复读,什么是幻读?脏读和不可重复读有什么区别?
    数据库引擎有哪些,区别是什么?
    数据库索引得数据结构,画出b 树,b 树比起b树有什么优点?为什么不用哈希表做索引?
    画jvm内存模型
    堆区结构,新生代老年底分别用什么垃圾回收算法,为什么?
    面向对象特性?
    怎么理解多台态?
    编译器实现重载的原理是什么?
    算法:扑克牌1到13,第一张放到牌组最后,第二张翻开移出,第三张放到牌组最后,第四张翻开移出依次类推,最后给出翻开牌的序列,求原始牌组的序列。
    
    
    二面挂
    就很迷,完全get不到他的点,全程智力题居多
    1.一个链表,把它保留头尾部分复制出来和原链表共同组成一个数据结构能用来干嘛
    2.3l绝对规整杯子和5l绝对规整杯子量4l水,我用类似栈来回倒,人家最后和我说杯子可以倾斜这样更简单😂
    3.150g大米,2g砝码和7g砝码,几次能把大米分成70g和80g
    4.算法,一颗二叉树返回某一层节点数目
    5.jquery为什么慢慢被淘汰。

总结/个人感悟

个人在经历秋招后有些感悟,如下:
1.提前春招实习参与笔试面试(不论能否出去实习),一方面可以熟悉笔试环节,代码调试,输入出等问题(刷题和笔试还是有区别的),另一方面就是能够提前面试找找感觉,我最初面试有时候感觉不换气一口气说好多,而且紧张,后来慢慢就好了。
2.在实习投递时先提前了解好对正式批是否有影响,比如阿里,tx等,别让春招影响了你的正式秋招。
3.秋招时大量投递,多去面试,一方面面试中题目重复率还是挺高的,同时面试过程中是最好的查漏补缺的过程,面过一定数量的公司后就找到面试的感觉了,起码能够把自己最好的状态表现出来。
4.注意做面试复盘,多面试的同时复盘才是知识增长的最有效途径,也方便帮你扫盲。
5.注意对自己投递的公司做基本的了解,我在远景的hr面时候崩盘主要有两方面,一方面对公司不是太了解(问到我是否上过他们公司的官网),另一方面没有表现出强烈的想去他们公司的意愿。
6.有现场笔试面试尽量去参加,难度会比线上要低些,我在贝壳的提前批和正式批线上笔试中基本是4道题过3.2到3.4,每次都没有面试,去现场才过了笔试继续走后续流程的。
最后说一句,秋招运气成分太大了,可能你准备的还不错,但遇上bt面试官就是没办法,所以还是整理好心态,尽人事吧。



















#校招##面经##Java工程师##百度##字节跳动##PHP工程师#
全部评论
up,感兴趣的牛油帮忙顶一下,多谢啦。
点赞 回复 分享
发布于 2019-10-03 21:27
老哥,阿里三面了吗?
点赞 回复 分享
发布于 2019-09-23 18:39
请问楼主是php的吗,想问下oppo有招php吗,我在他们校招官网上没有看到。还有百度,楼主投的是校招还是实习呢,为什么可以面这么多次,最后我看到楼主投了一些java岗,楼主的简历是以php为主的呢还是java
点赞 回复 分享
发布于 2019-09-23 18:30
楼主是愿意去互联网拼命还是银行呢,或者中兴华为,可以给个参考吗,和楼主oc情况类似
点赞 回复 分享
发布于 2019-09-18 17:32
想去百度吗
点赞 回复 分享
发布于 2019-09-18 17:28
膜拜大佬
点赞 回复 分享
发布于 2019-09-18 10:54
真大佬
点赞 回复 分享
发布于 2019-09-18 10:51

相关推荐

05-09 10:40
已编辑
中国地质大学(武汉) C++
4.20    测评笔试------------------------------------------------------------------------有三轮技术面4.30    一面问项目八股:    记不太清了大概是    讲一下c++static和const    c++多态机制    构造函数和析构函数可以是虚函数吗    进程之间的通信方式    设计模式    单例模式的实现    观察者模式用过吗    手撕:    挺简单的,力扣原题,字符串的不重复最小字串------------------------------------------------------------------------5.7      二面项目细节八股:    很少,就几个    stl用过哪些容器    vector和list的区别是什么,使用场景    linux线程通信    知道future嘛手撕:    很简单,就让仿照unique_ptr写一个unique_fd------------------------------------------------------------------------5.8      三面项目细节,比前两面更细了没有八股手撕:    不是很难,扫雷游戏m*n的地图,0表示没有地雷, -1表示有地雷,    随机生成k个地雷,要求按不放回选取的概率。------------------------------------------------------------------------聊的不错,不知道有没有hr面-------------------------------------------------------------------------5.8    更新晚上就打电话oc了,我考虑一下明天给答复-------------------------------------------------------------------------5.9    更新最终还是同意了,不等了,已签三方
查看11道真题和解析
点赞 评论 收藏
分享
06-11 15:46
已编辑
华南理工大学 Java
个人bg本2硕9,Java后端技术栈面试情况:腾讯pcg客户端三面挂蚂蚁一面挂高德一面挂美团数开二面挂淘天客户端二面挂腾讯wxg一面挂一方面是当初转码过程中贪玩,虽然一天到晚在学,不过都是学一会玩一会,leetcode目前才200多道(2月前70道),在2月中旬才开始认真刷题,看八股,项目之前有准备(点评和外卖包装成一个,另一个知识星球的单体项目,不涉及微服务),就大概过了一下,不过后面越看越感觉不太行,项目没上线一直被问是哪来的?开源的吗?有没有上线?然后是(感觉)最有机会的美团,志愿填了后端,数开,数科(不知道能三个都填后端),导致第一次笔试太差(a了0.41)直接进入二志愿,第二次a了2道,美团数开约了两次都拒了(想去后端),后面感觉要没hc了,就接了第三次面试,结果二面一直拷打项目(我单体项目,问微服务场景,jvm 服务宕机怎么保持redis和数据库数据一致性?),然后sql(两张表,子查询)写不出来,第二天挂。现在美团还没进大池子,在三志愿人才库。腾讯wxg一面一道easy题,结果acm模式不会建二叉树(从来没写过),第二道hard写个大概(基本是对的),没时间了,秒挂。道心崩溃,刷了那么久题,虽然面试的手撕写的都磕磕绊绊的(腾讯pcg一面处男面有lru,写了半小时还是40分钟,就印象里记得大概,后面靠自己的逻辑写出来了,感谢面试官没催我),腾讯三面hard缺失的第一个正数,面试官提示然后想起来原地hash,但是没有完全写对,最后泡了10天挂了(一开始还嫌弃客户端,现在高攀不起了)。蚂蚁没有手撕,高德hard分发糖果(刚好会,我想笑,结果马大哈因为代码提示变量名换成了另一个,没有秒,在idea里调试,发现问题,面试官指出来了)一路上运气好,能有一些面试(刚好让本菜狗过),笔试成绩随缘(拼多多2道直接挂,蚂蚁0.3道,高德0.6道,淘天1道,携程1.3道还在流程中,其他比如灵犀互娱3道,虾皮2.2道没消息,阿里国际0.4道最后的机会了,OPPO3道复筛挂,作业帮,美的2道以上也没消息),京东一直泡池子,不知道是卡科班还是测评挂了,字节简历挂了8个,简历评估2个,评估一个月了都。其他如百度,网易,快手都简历挂(泡池子默认挂)现在鼠鼠很迷茫,还需要坚持吗?金三银四要过去了,5月份还有hc吗?还想着五一沉淀沉淀看看能不能捡漏,或者转测开了,其他一下中小厂感觉不要非科班的。或者直接备战秋招?非科班无实习秋招还有机会吗?美团能不能再爱我一次,5月份后还有hc吗?鼠鼠沉淀好之后还有机会吗,真的很想去美团啊,真的是学了忘,忘了学,太累了。更新,腾讯cdg捞面,一面问题都答上来了,手撕hot100过,反馈要排序,两天后挂5.19再更新,在15号被挂之后立马又收到了两个面试,不过没有动力了,摆了两天半,明天一天两场面试了,头几天没写算法导致今天写算法思维都不活络了,希望好运降临,要顶不住了,被挂了emo,没面试emo,面试前也emo5.20更新,荣耀面试被面试官提到我是土木专业,质疑项目真实性,现在没收到测评,估计挂了。腾讯捞面结果在荣耀面试前就取消了面试,下午又接到了淘天的测开,面完说我好像更喜欢和适合后端,还让我加油坚持后端,面完就挂了。已经没有流程了,非科班无实习真的难更新,20号之后万念俱灰,已经打算放弃了,玩了好几天,玩游戏,出去玩,结果收到了星展银行的机会(好像是29号hr先面的,在技术面,之前有写笔试),并且在30号接到腾讯QQ后台的面试,但是还是在玩,一直到6月2号就开始学习了(最后两天要面腾讯了,再不学来不及了,两天刷了30多道leetcode,效率从未有那么高,要是三月份能保持这种状态,后续的那些面试就不会因为算法磕磕绊绊被挂了,看了遍项目,大略看看八股)面试官刚开完会回来,开摄像头然后介绍一下业务,问我对这个岗位有没有什么了解,丢了我一道算法大数十进制转二进制。太菜了,我没有写过,一开始申请换个题目,但是面试官让我讲思路,我想的是用string来处理,然后一个个字符遍历,保留一个remain,思路是对的,写出来就是死循环,后面deepseek一下发现思路确实没问题,是我写出来太复杂了,面试官看我写了一小时没写出来,就随便问了几个问题,提到非科班为什么要转行(应该是嫌我基础不太行),让我反问,我知道要寄了,就没反问,出去果然秒挂。后面就准备星展线下的Demo了,自己尝试写了一个账号资金管理,结果线下面试现场写Demo刚好有个类似的,还更简单(自己写的引入了redis缓存,实现了登录jwt,登录状态打算引入拦截器来解决,参考hmdp,但是没有时间了,就算了,用redisson锁来保证转账数据一致),所以面试时线下写Demo,就轻车熟路了。但是明明昨晚启动项目都没报错,当天面试时启动springboot就报错了(rabbitmq我没有用,springboot启动时会检查,但是前两天启动都没这个问题,真是奇怪,然后就放弃ampq这个依赖,重新导依赖),后面Lombok注解失效,老问题了,之前遇到过解决了,但是面试时间给些代码时间不够,就直接用getsettostring快捷生成(感谢面试时的队友,我其实是没想到这个的,让我来估计还是找Lombok的解决办法,队友准备后端有点晚了,但是学历顶,后面机会还是很大,希望后面能拿到如意的offer),然后面试结束两天后收到了hr的电话说通过了,虽然没有收到邮件,估计要等岗位安排。最后感谢星展收留,接下来还得继续努力了,休息一段时间继续猛猛干。各位路过的大佬给点建议  
点赞 评论 收藏
分享
评论
16
97
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务