当前位置: 首页 > news >正文

2018 年,去百度面试Java后端的一次面试经历

各个部门的面试重点真是五花八门的啊……然后如果你的简历在这个公司被面过了,整个系统是有记录的,相同的岗位其它的部门是不会面试第二次的。再结合面试侧重不同,更加的恐怖。

这次面试明显是侧重Linux内核的,说是Java后端,整个面试经历连Java关键字都搜不到……比如有个问题:写个 strcpy 函数。这就不是Java的,是C的。就有两个问题是问SQL(B树的也算吧),一个问题是问前端,但是又问了http协议的东西。

猜测这个部门前端和SQL工作用的都是知名开源,不太深入,但是需要理解原理。要有搞并发高可用的能力,当前这个工作的岗位是跟Linux强相关。

一. 百度一面

1、给一个函数,返回 0 和 1,概率为 p 和 1-p,请你实现一个函数,使得返回 01 概率一样。

2、10 亿个 url,每个 url 大小小于 56B,要求去重,内存 4G。

3、把一个 bst 转化成一个双向链表。

4、http 和 https 区别,https 在请求时额外的过程,https 是如何保证数据安全的;

5、IP 地址子网划分;

6、POST 和 GET 区别;

7、DNS 解析过程;

8、硬链接和软连接区别;

9、kill 用法,某个进程杀不掉的原因(进入内核态,忽略 kill 信号);

10、linux 用过的命令;

11、系统管理命令(如查看内存使用、网络情况)

12、管道的使用;

13、grep 的使用,一定要掌握,每次都会问在文件中查找;

14、shell 脚本;

15、find 命令;

16、awk 使用

二. 百度二面

对照着简历问了些东西。

1、Linux 下的一些指令,$(进程 id),$?(上一条命令退出时状态),怎么查看进程,按照内存大小,CPU 占用排序等等。(大写 M 和大写 P)

2、http 的 get 和 post 方法。

3、介绍下你所了解的 epoll。

4、数据库 sql 的了解程度。

5、项目中遇到的问题,自己咋解决的等等。

6、手写一个全排列。

7、b 树和 b 树。

8、介绍一下 hash,怎么解决冲突。

9、进程间的通信,共享内存方式的优缺点。

三. 百度三面

1、说下你平时看的一些技术博客,书籍;

2、linux 下的一些指令;

3、工作中你觉得最不爽的事情是什么;

4、说下你的优缺点;

6、有没有想过去创业公司;

7、写个 strcpy 函数;

8、说说你自己的性格;

9、给你一个系统(面试官好像是无人车部门的),后台的逻辑已经实现了,但是前端加载很慢,怎么检测;

10、以后可能要学习很多新技术,你怎么看;

11、项目中遇到的困难(提前想好,并且把实现或者优化方法说清楚);

12、系统的量级、pv、uv 等;

13、应对高并发的解决办法(分布式);

14、在项目中主要负责了哪些工作。

15、nginx 的负载均衡;

16、分布式缓存的一致性,服务器如何扩容(哈希环)

回答现在还没有整理,以后有时间整理一份,在发布出来。


相关文章:

  • Python 随机数 random
  • Nginx源码包需要的翻译软件有哪些
  • CentOS Linux搭建SVN服务器
  • 提醒我喝水chrome插件开发指南
  • 进度二
  • mysql数据库主从复制
  • Python_OOP
  • 获取ip地址
  • ajax引用检测用户名是否存在
  • IDEA快捷键笔记
  • JSP第五篇【JSTL的介绍、core标签库、fn方法库、fmt标签库】
  • 用Metaclass实现一个精简的ORM框架
  • 看不到短期回报,首席财务官们表示对AI并不感冒
  • 杂感一篇
  • 影响存储快照使用率的六大因素
  • 【5+】跨webview多页面 触发事件(二)
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • ES6--对象的扩展
  • git 常用命令
  • JavaScript 奇技淫巧
  • JavaScript标准库系列——Math对象和Date对象(二)
  • Java深入 - 深入理解Java集合
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • MaxCompute访问TableStore(OTS) 数据
  • mysql中InnoDB引擎中页的概念
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • PHP那些事儿
  • 成为一名优秀的Developer的书单
  • 大主子表关联的性能优化方法
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 前嗅ForeSpider中数据浏览界面介绍
  • 设计模式 开闭原则
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 算法-插入排序
  • #Linux(帮助手册)
  • #pragma pack(1)
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • (BFS)hdoj2377-Bus Pass
  • (二)换源+apt-get基础配置+搜狗拼音
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (十一)图像的罗伯特梯度锐化
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • .gitignore
  • .NET 药厂业务系统 CPU爆高分析
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • /usr/lib/mysql/plugin权限_给数据库增加密码策略遇到的权限问题
  • ::
  • @EnableWebMvc介绍和使用详细demo
  • [100天算法】-不同路径 III(day 73)
  • [2024最新教程]地表最强AGI:Claude 3注册账号/登录账号/访问方法,小白教程包教包会
  • [BZOJ 3282] Tree 【LCT】
  • [E单调栈] lc2487. 从链表中移除节点(单调栈+递归+反转链表+多思路)