热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【精选】分享我在大厂遇到的面试题,

点击上方蓝字关注我们前提在我这个公司已经待了4年多了。在技术上已经到达了瓶颈,然后就想出去看看机会。于是就有了如下的经验。去DDDD面试先给我安排了一二面一起

5aa71fa01483445202278b876a9db0ab.png

点击上方蓝字关注我们

561d0c8e2eca1db1cc734f89ca97c3bd.png

20066f06b803b95b6cc5b99f004ab4f0.png

前提

05d8a66a3d903ca66b0c65b82307a73a.png

在我这个公司已经待了 4 年多了。在技术上已经到达了瓶颈,然后就想出去看看机会。于是就有了如下的经验。

fcb9399078e18c8099b844a93e81bf85.png

去DD

a48f1523ad398f47b2db2e5918b0417c.png

DD 面试先给我安排了一二面一起,但是三面因为面试官在开会于是就再约了。我是去的现场面试,本来是建议我远程面试,我拒绝了,我坚决要去现场面试。

一面:进程、socket、IO 多路复用 等问的稍微深入。然后一个小时不知不觉过去了,面试官走了。(因为这些东西我在我的个人 github 都有代码,所以面试官会看我代码,我会给他们展示我现在在公司的线上使用情况。)

二面:项目、Redis、MySQL、PHP-FPM 很多忘了,就是想到啥问啥,然后答到他的点上就下一个问题。最后让我写个算法题的时候,他在旁边看我 github 的代码。

(从个人感受上,DD 的面试官很尊重面试者)

过了一段时间之后,约我去三面。三面面试官没有考察什么技术难点,就是让我讲了个我的一个项目怎么做。最后就走了。

四面就 HR 面没啥了。

由于太久没有出去面试过,于是我决定在去其他大厂看看。原因有几个:

在面试 DD 的时候,在交流的时候不会紧张,但是等待的时候会有一点紧张。于是我想继续面试其他的锻炼自己。

想要看看其他大厂对技术的要求

如果还能拿到其他的 offer,对自己来说就多个选择。

于是就有了后面的经历~

97ffb77c732bb19130acd29f96b86047.png

BD面试

efef82cf485e7b5401126479d91d9703.png

我是通过内推去面试的,所以面试很快能够约上。这次 BD 面试是所有面可以安排一起,只要通过就可以继续。于是:

一面:Swoole、进程、TCP、MySQL、Redis ,PHP-FPM 等都问了。有些知识点因为没有准备早就忘了,其他的总体上来说没什么问题。顺利二面。(面试时间很短,使用了 30 多分钟。所以什么都问,但是都问的不深)

二面:上来让我介绍自己的工作经历,然后问我做过的项目。没有问我技术点。主要是考察我能不能胜任开发项目我认为。这个也过得特别简单。于是顺利的过了。

三面:上来就抱着一个电脑,似乎很忙。然后看了我一眼说:你先介绍下自己,包括姓名、年龄、籍贯、学校等。然后你再介绍下你的工作经历。好,开始吧。

然后好像他又在看他的电脑,我在对面一直呱呱呱的说。简单的介绍完了自己和工作经历。

然后就问我:给你一个接口你会怎么做?这就是我之前分享的一个问题。这个问题把我问的很蒙。

在面试的期间,面试官时不时会说:我时间不多了,我等会有个会议。

然后再是问我最后一个问题:如果有两个文件 A 和 B,就比如是两份账单,我想查找是否有人重复领取工资,问我怎么做。我问他数据量情况,他说十几万行吧。

我想了几个方案:

1、通过 yield 读取文件然后写入数据库(本地),在通过一个 SQL 完成。

2、通过 Redis 的 set 完成。

3、通过布隆过滤器。

4、假设内存允许的情况下,直接通过 PHP 读取完两个文件然后通过数组完成。

最后面试官问我:你知道 awk 吗?我说我不清楚(只在批量杀死进程用过,其他情况确实没用过)。然后告我可以用 awk 写个命令就够了。

最后问我期望薪资,估计嫌我要的高了。就送我走了~

然后我的简历流到了 BD 的简历库,于是 BD 的 HR 打电话给我让我去另外一个部门面试。于是就约了个时间。一面面试官后来给我打电话,我还特意说了我面得职位是高级,说了我的期望薪资。一面面试官说没问题,只要你有这个能力就行。

6fed249a2d322cf2aafb173a1399686e.png

BD第二次

139996ba6ac70aaf485c0ca3a911bea8.png

一面:

TCP 的三次握手和四次挥手

session 和 COOKIE 的区别?

熟悉正则吗?

PHP 扫描目录知道吗?如果是嵌套目录呢?

HTTP 的 code 码知道吗?

PHP 的魔术方法有哪些?

PHP 的全局函数有哪些?

PHP 的垃圾回收、内存管理

写个算法:如何知道算法里面的括弧是否有效?

MySQL 的底层知道吗?(从这里我接过了话题,然后开始谈了很多 MySQL 的知识点。并且和面试官聊了聊其他有的没的。)我说完了之后问面试还有要问的嘛?面试官摇摇头说没了。然后说了句:你很有专研精神。然后和面试官互加了微信。面试官送我离开了。

整个过程都很和气,大家不要因为我写的东西觉得好像我很高傲啥的。面试过程最后的气氛像是在互相分享。但我觉得我应该也没有二面了。因为从问的问题来看更像是在招初级的。

acab0f01deb66f96833e615b82c5d7fc.png

TX

d82933053c9caaae8226ad8441dba9d5.png

一面:面试官让我先介绍一个自己的项目。于是我就把我的定时任务项目跟他讲了,而且讲的里面很多的知识点。面试官会一直深扣。我回答面试官问题时,不会只回答面试官的这个问题点,而是会把这个点发散开来,尽量把我知道的能够联想到的都展开。面试的知识点有:TCP、Socket、进程管理、进程线程协程概念、HTTP、网络架构、MySQL、B + 树、RabbitMQ 等。

涉及 MySQL 的问题:执行 insert 语句的过程是什么?

最后写一个算法题:3 题让我挑一道。因为我不怎么看算法,于是才让我 3 题选一题。

二叉树

LRU 实现

数组中找出第 K 大的数

我选了个最简单的,第三个。

a605d373b3f97e13b850131c9eae722b.png

总结

5c7a60fc344c500475a982c32618bdc7.png

面试只要准备的充分,似乎心里就不会慌。然后随着面试的越来越多,就越来越有底气。因此还是要多面面才好!

喜欢就点个在看再走吧 d7e246b0596517ae3c7de6a685e13542.png


推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • MySQL数据库锁机制及其应用(数据库锁的概念)
    本文介绍了MySQL数据库锁机制及其应用。数据库锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,数据是一种供许多用户共享的资源,如何保证数据并发访问的一致性和有效性是数据库必须解决的问题。MySQL的锁机制相对简单,不同的存储引擎支持不同的锁机制,主要包括表级锁、行级锁和页面锁。本文详细介绍了MySQL表级锁的锁模式和特点,以及行级锁和页面锁的特点和应用场景。同时还讨论了锁冲突对数据库并发访问性能的影响。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • ALTERTABLE通过更改、添加、除去列和约束,或者通过启用或禁用约束和触发器来更改表的定义。语法ALTERTABLEtable{[ALTERCOLUMNcolu ... [详细]
author-avatar
mobiledu2502878025
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有