百度 提前批C++ 一面 二面 三面

【每日一语】当你厌恶你身边的人,你表达厌恶最好的方式不是和他们争吵,而是自己勤快点儿,加把劲离开他们。那样,他们就永远从你的生活中消失,和死了差不多。

前言:

个人介绍: 985小硕,c++后台,鹅厂实习生。

百度一面 电话面 (87分钟)

按照以往的套路,我都是自我介绍完直接说自己的项目,因为自己的项目已经很熟悉了。就算问到一些不会的也能答出一二三。可一面面试官完全不按照套路。我准备说项目的时候直接打断了。说我们先问几个问题,等会再说项目。

虚基类

纯虚函数

虚函数

虚函数表内存分布

虚函数中虚基类和派生类的关系

显示转换

问了三个算法题  讲讲思路

学过网络和操作系统吗

三次握手,四次挥手  握手为什么是两次

讲一讲拥塞机制 和流量机制

http https  抓包工具原理

IP地址分为几类?简单说一下分类

进程通信有哪些方式

进程同步的方法

知道互斥锁吗?

他用什么来保证共享数据的安全性?

这个我说信号量,他说如果用信号量来解决,现在出现一个状况,两段进程都被标记为可以访问该共享数据,但我们的共享单元只能支撑一个进程访问。这时候怎么办?

我说用唯一标识符去处理。生成唯一标识符,这样就不会出现这种情况。

他说不对。让我回去好好看看。

回去查了一下,是原子操作。。

(这个问题问了好久)

数据库索引 索引原理  以及如何优化数据库

开始讲项目  三个项目,本科的,硕士的,以及在鹅厂的。问鹅厂的问的最细(40 min)

一面总结: 还有很多问题都忘记,面完的感觉就是,百度问的真的很全,第一次电话面超过一个小时的。不够面试官也没有在不会的问题继续难为我,我就说不会。他说没事就下一个问题了。

百度二面  电话面 25分钟

为什么继承时基类的析构一般声明为虚函数?

虚函数与纯虚函数的区别在于

为什么构造函数不能够使虚函数

4.TCP端口扫描方式

5.TIME_WAIT、CLOSE_WAIT

6.守护进程

7.迭代器的++it和it++哪个好

8.开始问项目,从百度二面开始。我的项目就一直被怼,完全吹不动。说几个核心的点。

9.因为说了tars 的源码,他就基于这个源码开始问。如何去处理高并发HTTP请求?

我: 从接入层(统一接入网关,负载均衡)…..从服务层(服务细分,过载保护)…..从存储层(cache,共享内存,分布式存储组件ceph)……

在服务层回答到 过载保护的时候。被打断。 他说你说的过载保护不过是在请求很多的时候去拒绝掉一部分用户。或者延时处理。那么 现在如果出现一个热点事件,百度的搜索可能会达到数十亿次,你去拒绝掉这一部分用户。那这一部分用户的用户体验怎么保证?

在存储层回答ceph 分布式存储组件的时候 被问到了映射  为什么ceph要去做三层映射?

面试官: 你有没有考虑过流量不干净的情况怎么办? 用很简单的ddos攻击,你这个服务 我1分钟之内就能让他趴下。这个你考虑过吗?

面试官: 你这个底层本质上还是用队列做的。你有没有考虑过队列全满的情况?就是现在你的所有队列全部爆满,你根本没有办法去做请求迁移。这时候怎么处理?

虽然只面了25分钟,但是大概率知道自己过了。因为最后面试官说:你有什么问题吗。我觉得你OK。 我就问了关于他们团队的一些问题。

二面之后的三天,HR打电话过来约视频面,并说明视频面面完之后可能还要加一轮现场面。我说没问题。 后来又打电话过来,说面试官不同意视频和电话面。必须现场面。而且不报销任何路费。从深圳到北京 来回花了3000多。最后拒了。很伤很伤。

百度三面  现场面  70分钟。

从面试开始,我就没有想过会出现这种情况。

就是自己讲完腾讯的实习项目之后。面试官直接说。你这个项目是谁让你做的。你有没有质疑过,你这个项目从方案和逻辑上就是错的?

我 : …………………………..  (从这开始心里就有一些慌了。)

面试官:我们现在假设一种情况,就是我们的服务端是很安全的,你现在多一个第三方代理,我怎么信任你这个第三方代理?

我:我们这个服务是对内的。即使对外,我们也可以从请求上来判定。比如相同的IP的地址我们可以从频率上去限制他的请求。不同的IP地址 我们可以去从key(这个key 是有一个失效期,只能用一次,我们将这些不干净的流量尽量拦截在接入层,不让他进入我们的网关。)

面试官: 你可能理解错了我的意思,我的意思是,限制服务端去信任客户端。你凭空多出了一个第三方代理,虽然原则上确实方便了客户端的使用,但安全性怎么去保证?

我: 我们可以去做加密。Balabalabalalalalal……………

面试官: 你的意思我懂,但高并发请求如何去处理呢?

我: 从接入层(统一接入网关,负载均衡)…..从服务层(服务细分,过载保护)…..从存储层(cache,共享内存,分布式存储组件ceph)……没讲完就被打断了。

面试官: 你知不知道,你现在所做的可能都是没有意义的?

我: ………………………….

面试官:因为你们的服务端,绝对已经做过了这些处理。而且比你的第三方代理做的好。你现在的这个代理服务极其脆弱。你为什么不把他封装成一个接口呢?而不是一个服务。

我: …………………………………………

面试官: 你这个项目其实还是有很多有意思的东西,比如你知道为什么用appid和appsecret 去换取微信那边的一个access_token权限吗?

我:我们可以类比,淘宝登陆 除了用户名和密码 我们还需要手机验证码这样的方式。

面试官: 你这个类比不对,因为淘宝登陆他现在不信任你这个用户名和密码。需要多加一个验证方式。而通过appid appsecret 他的本质是换取 而不是加

你知道为什么要换取 ,而不是加吗?为什么要这样做。而不是把appid appsecret 存到数据库里面?

我:因为存到数据库里面,不够安全。只要是存在数据库里面的密钥。都可能有被攻破的风险。而access_token是实时生成的。

面试官: 咱们又绕回来了,那你做这个第三方代理的时候为什么用的是数据库?你既然知道access_token是实时生成的,那么就应该知道这个客户端令牌从原则上是不允许被其他人知道的,更不允许存到数据库里面。那咱们换一个问题。还是刚才,那咱们现在假设我们的服务端和数据库原则上是安全的,那么现在还是要用access_token去换取?我现在可以直接把appid和appsecret直接串起来串成一个字符串然后md5加密一下。可以这样做吗?如果不可以说出理由。

我:到这里我就懵逼了。。。。。

面试官:好,你现在去做代理服务器。去请求另一个接口。如何去提高他的性能?

我:去做那边接口的服务细分,每个接口去细分,再在存储层去做一些优化……………….

面试官:现在假设不允许你动那个接口呢。比如你现在去请求一个其他公司的接口,他就是慢。他那边代码写的就是很不好。你只可以动你的代理层。怎么处理?

我:多线程,分发,缓存,cdn.

面试官就照着我回答的继续细问下去。。又懵了。

后来就没问什么问题了。问了几个简单的就结束了。

总结:

三面面试官,绝对是我面到现在技术最强的一个。虽然挂了,但是面试官人很nice  指出了项目很多我都没有考虑到的问题。面试全程都在引导我去回答问题。就是不报销路费太伤了。。。从各大博客和在百度实习的同学了解到,百度的技术氛围真的很赞。秋招再努力了。与大家共勉。

点击作者姓名与作者大佬交流~

作者:C+++++++++

来源:牛客网(www.nowcoder.com)

- 互联网名企笔试真题

- 校招求职笔经&面经

- 程序员/产品/运营求职实习信息

- 程序员/产品/运营学习交流社区

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java技术栈

爱上 Java 的10 大理由,Python 弱爆了!

Java和JVM已经存在了很长一段时间了,基于这个事实,一些程序员开始将很多事情视为理所当然。今天我们就来说一说“Java之所以能够成为并将继续是软件项目领先平...

1324
来自专栏云加头条

智能云上手指南:如何接入腾讯云的自然语言处理能力?

本文将为广大云开发者介绍如何介入腾讯开放的自然语言处理能力,即文智自然语言处理。

8220
来自专栏Java架构师进阶

Java高级工程师面试总结

原因:面试的第一个问题,一般都是让你简单介绍下你自己,或者介绍一下你最近的项目,而一个面试者,如果连自己的简历都无法熟知,对里面提到的项目、技术都无法描述清楚的...

1192
来自专栏程序员的知识天地

Python爬虫入门,8个常用爬虫技巧盘点

编程对于任何一个新手来说都不是一件容易的事情,Python对于任何一个想学习的编程的人来说的确是一个福音,阅读Python代码像是在阅读文章,源于Python语...

1591
来自专栏一个会写诗的程序员的博客

20+个很棒的Android开源项目

20+个很棒的Android开源项目 本文摘自文章: 20+ Awesome Open-Source Android Apps To Boost Your D...

1362
来自专栏架构师之路

框架组件,究竟要不要自研?

一、问题的提出 询问框架组件,是否需要自研? 18年规划系统介绍58到家的技术体系,15年加盟58到家后,架构部正好也是负责范围的一部分,故谈一谈自己的想法,个...

4376
来自专栏云计算D1net

云计算网络应用防火墙提高应用程序的安全性

人们通过云计算网络应用防火墙以确保未在本地托管的应用程序,这是可行的。行业专家马特·帕斯库奇解释它们是如何工作的,以及企业对此所需要了解哪些事情。 如今,网络应...

39611
来自专栏WeTest质量开放平台团队的专栏

国庆长假综合症?云真机新功能让你迅速重回高效测试状态

可是,假期远去,日子还得照样过,为了让技术人员在国庆假期结束后能够加快测试效率,WeTest开发人员,在长假期间中开发了一个新功能——云真机键盘输入。

1054
来自专栏码神联盟

高效编程所需要做的那点事

聊聊如果才能高效编程 计划(Plan) 所谓Plan,其实就是对应于编程中的设计阶段,当然,这里的Plan并不像设计那样重量级。它要求我们程序员在正式...

2839
来自专栏鸿的学习笔记

《design data-intensive application》阅读笔记之一

于2017年末得知了一本神书《design data-intensive application》,读完即可惜,如果早拿到这本书,就不会纠结于很多分布式系统...

792

扫码关注云+社区

领取腾讯云代金券