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

相关推荐

16 97 评论
分享
牛客网
牛客企业服务