面试一直是大家关注的问题,包括最近有很多人跟我讲投了很多简历出去,就像泥牛入海一样了无音讯了,确实出于程序员的直觉,今年是要比往年要更冷一些。
但是对于面试来说,一直都有一个说法就是「金三银四」现在四月份都过完了,不知道有多少人已经拿到了offer,今天我就来分享一个Java程序员面试拼多多后端开发岗位的几轮面试题。
很多Java程序员在面试时都有这样的苦衷:
我掌握了很多Java开发技巧,每次到笔试环节,死活就是答不上;
明明是一个职场老手,和面试官聊天,简单的技术问题都吞吞吐吐;
拼多多一面
- 给一个函数,返回 0 和 1,概率为 p 和 1-p,请你实现一个函数,使得返回 01 概率一样。
- 10 亿个 url,每个 url 大小小于 56B,要求去重,内存 4G。
- 把一个 bst 转化成一个双向链表。
- http 和 https 区别,https 在请求时额外的过程,https 是如何保证数据安全的。
- IP 地址子网划分。
- POST 和 GET 区别。
- 硬链接和软连接区别。
- DNS 解析过程。
- kill 用法,某个进程杀不掉的原因(进入内核态,忽略 kill 信号)。
- linux 用过的命令。
- 系统管理命令(如查看内存使用、网络情况)。
- 管道的使用。
- grep 的使用,一定要掌握,每次都会问在文件中查找。
- shell 脚本。
- find 命令。
- awk 使用。
拼多多二面
- Linux 下的一些指令,(进程id), (进程 id),(进程id),?(上一条命令退出时状态),怎么查看进程,按照内存大小,CPU 占用排序等等。(大写 M 和大写 P)。
- http 的 get 和 post 方法。
- 介绍下你所了解的 epoll。
- 数据库 sql 的了解程度。
- 项目中遇到的问题,自己咋解决的等等。
- 手写一个全排列。
- B树和B+树。
- 介绍一下 Hash,怎么解决冲突。
- 进程间的通信,共享内存方式的优缺点。
拼多多三面
- 说下你平时看的一些技术博客,书籍。
- linux 下的一些指令。
- 工作中你觉得最不爽的事情是什么。
- 说下你的优缺点。
- 有没有想过去创业公司。
- 写个 strcpy 函数。
- 说说你自己的性格。
- 给你一个系统(面试官好像是无人车部门的),后台的逻辑已经实现了,但是前端加载很慢,怎么检测。
- 以后可能要学习很多新技术,你怎么看。
- 项目中遇到的困难(提前想好,并且把实现或者优化方法说清楚)。
- 系统的量级、pv、uv 等。
- 应对高并发的解决办法(分布式)。
- 在项目中主要负责了哪些工作。
- nginx 的负载均衡。
- 分布式缓存的一致性,服务器如何扩容(哈希环)。
总结
最后说几句,真实案例,有个朋友对我讲,他科班出身,之前两年传统行业,去年在一家直播小公司,互联网吧。算起来3年开发经验了,但是今年跳槽的时候,已经投了十几家公司简历了,到目前还是没有找到工作。
一个是寒冬的原因,这一点我们不谈了,我不想天天说寒冬寒冬。二个是他在传统行业那两年没有去学习过,因为公司连spring都很少用到,所以就养成了不去学习的习惯,导致3年以后连应届生都不如,所以特别迷茫。
我的建议是重新给自己定一次位,明确自己的职业方向,为时不晚。
读者福利
分享免费学习资料
针对于Java程序员,我这边准备免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)
为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!希望读到这的您能点个小赞和关注下我,以后还会更新技术干货,谢谢您的支持!
资料领取方式:加入Java技术交流群963944895
,点击加入群聊,私信管理员即可免费领取
如何成为一个有逼格的Java架构师
怎么提高代码质量?——来自阿里P8架构师的研发经验总结
阿里P8分享Java架构师的学习路线,第六点尤为重要
每个Java开发者应该知道的八个工具
想面试Java架构师?这些最基本的东西你都会了吗?
画个图来找你的核心竞争力,变中年危机为加油站
哪有什么中年危机,不过是把定目标当成了有计划
被裁员不是寒冬重点,重点是怎么破解职业瓶颈