腾讯WXG后台开发实习一面凉经

腾讯WXG后台开发实习一面凉经

WXG春招实习生面试,方向软件后台开发方向,二十分钟后凉了。 面试官和蔼可亲,我说不会的他就不问了……然后当天下午就被其他部门捞了……

一、基础知识

一开始个人介绍,然后开始问基础知识,由计网和操作系统和C艹组成:
加粗为我个人不懂的,日后强化。
1,多线程和多进程的实现。
2,守护进程的实现。。。
3,网络编程是否熟悉,答socket,问我linux系统的socket,不知道(Linux相关都不知道)。。。
4,TCP的time-wait状态和作用。
5,服务器每个网络连接用什么标识(传输层端口,网络层IP,数据链路层MAC)。
6,多个进程本机内如何通信。
7,对内核态有了解吗。。。
8,I/O的多路复用(答了很浅的,复盘的时候发现原理很复杂,面试官估计想知道底层)
9,IP连接的最大数量。
10,左值和右值是什么(随便答了很浅的。。。)
11,C++多线程。。。
12,C++新特性。。。
12,协程。。。

二、easy算法题

只需要保存头结点,将尾节点的next指向头结点。然后返回新的头结点即第K个节点。
题目是很简单,我很快就有了思路但是指针操作失误越界了。。。。。。。。。。最后还花了很长时间才搞好,于是做完这题直接打出“时间差不多了”这张牌,GG

简单题

三、总结

计网操作系统这些都是八股文,看一下就行。
主要需要加强了解的:Linux、多线程、C++新特性。
算法这个自己脑子抽风,这都不算算法题,最基础的指针操作都炸了,自认倒霉。

四、部分答案补充

守护进程(Daemon)是脱离于终端并且在后台运行的进程:

特点是独立于控制终端、周期性地执行某种任务或等待处理某些发生事件,不会随终端关闭而停止,没有控制终端,不能直接和用户交互,不受用户登录、注销的影响直到接受停止信息才会结束,且一般采用以d结尾的名字。

脱离终端是为了避免在执行的过程中的信息在终端上显示,并且进程也不会被任何终端所产生的终端信息所打断。很多守护进程在系统引导的时候启动,并且一直运行直到系统关闭。另一些只在需要的时候才启动,完成任务后就自动结束。

Linux 的大多数服务器就是用守护进程实现的。比如,Internet 服务器 inetd,Web 服务器 httpd 、读入缓输出机制的实现、ftp服务器(借助vsftpd实现),nfs服务器。
创建方法略(篇幅较长)。

内核态

当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核状态。此时处理器处于特权级最高的(0级)内核代码。当进程处于内核态时,执行的内核代码会使用当前的内核栈。每个进程都有自己的内核栈。当进程在执行用户自己的代码时,则称其处于用户态。即此时处理器在特权级最低的用户代码中运行。
用户态切换到内核态的3种方式:a.系统调用 b.异常 c.外围设备的中断
a.系统调用
这是用户进程主动要求切换到内核态的一种方式,用户进程通过系统调用申请操作系统提供的服务程序完成工作。而系统调用的机制其核心还是使用了操作系统为用户特别开放的一个中断来实现,该中断是程序人员自己开发出的一种正常的异常(软中断)。
b.异常
当CPU在执行运行在用户态的程序时,发现了某些事件不可知的异常,这会触发由当前运行进程切换到处理此异常的内核相关程序中,也就到了内核态,比如缺页异常(硬中断)。
c.外围设备的中断
当外围设备完成用户请求的操作之后,会向CPU发出相应的中断信号,这时CPU会暂停执行下一条将要执行的指令
转而去执行中断信号的处理程序,如果先执行的指令是用户态下的程序,那么这个转换的过程自然也就发生了有用户态到内核态的切换。比如硬盘读写操作完成,系统会切换到硬盘读写的中断处理程序中执行后续操作等。

I/O多路复用:https://blog.csdn.net/sehanlingfeng/article/details/78920423

左值右值:https://blog.csdn.net/qq_29426201/article/details/106055675

C++ 11新特性:https://blog.csdn.net/qq_29426201/article/details/106051408

多线程:https://blog.csdn.net/qq_29426201/article/details/106055816

协程:https://www.liaoxuefeng.com/wiki/897692888725344/923057403198272

全部评论

相关推荐

03-15 00:45
已编辑
中国科学院大学 Java
问的很简单都秒了,但是面试官没开摄像头,疑似kpi,无后续。--------------------3/14更新,3/12通知给了口头offer,3/13发了意向书,已拒。一面(35min)(25/3/6)(无后续)    1、自我介绍    2、介绍一下你的那个Python相关项目(本科毕设,web系统+算法模型提供部分接口)    3、Java面向对象有哪些特点呢?详细说一下。    4、介绍一下hashmap;为什么要把链表转换为红黑树呢?红黑树查找的时间复杂度?1.7和1.8的区别。    5、介绍一下concurrentHashmap。    6、synchronized锁和Lock锁有什么区别?    7、公平锁的一个底层是怎么实现的呢?    8、线程池的核心参数、拒绝策略、提交一个任务执行流程?    9、spring有哪些特点?(ioc/aop)    10、spring中对于循环依赖是怎么解决的?    11、MySQL和redis的区别?    12、MySQL的索引结构是什么?    13、MySQL的事务有哪些特性?怎么保证?    14、MySQL的默认隔离级别?可重复读是怎么做到的呢?    15、介绍一下MVCC和快照读readview。    16、一般在什么场景下会使用redis?    17、对于大量的请求,如果此时缓存中还没有写入数据怎么办?    18、介绍一下redis实现的分布式锁。    19、有用过es和mongo DB吗?(知道,没用过)    20、消息中间件用过吗?说一下你的使用场景?    21、一个场景,如果说有一个接口响应的比较慢,如果说让你排查,你会怎么去排查?(上下游接口、大key问题,只答了两,后面试官补充)    无手撕,反问业务。
胖墩墩的查理在学c语言:哥们我是五号面的 流程差不多
查看21道真题和解析
点赞 评论 收藏
分享
评论
1
11
分享

创作者周榜

更多
牛客网
牛客企业服务