2019江行智能 后端开发工程师Go 面试题

简介: 【7月更文挑战第7天】

深圳面试,来了之后给了一张试卷,时间半小时。包括一道算法题及扩展以及一页基础题。看题型,应该是多种岗位共享的试题,适合后台开发、驱动开发等岗位,Linux知识居多,也包括一些操作系统,计算机网络和编程语言相关的知识。难度因人而异,有些仅仅知道,有些知识了解背后原理、实现。

题型如下,不分先后:

算法题,要求给出最优解,计算时间复杂度和空间复杂度:

  1. 3个有序数组排列

  2. K个有序数组排列,(此题解法是堆排序)

基础题:

  1. 操作系统上电启动到运行init进程执行前做了什么?

    (1)开机BIOS自检,加载硬盘。
    (2)读取MBR,进行MBR引导。
    (3)grub引导菜单(Boot Loader)。
    (4)加载内核kernel。
    (5)启动init进程,依据inittab文件设定运行级别)

  1. 系统中断机制以及运用

这个简单说下软中断、硬中断、寄存器保存、替换等等。例子包括常见的系统调用socket、read。

  1. 进程、线程、协程区别以及常见进程IPC方式及其实现原理

进程:操作系统分配资源的基本单位。

线程:操作系统调度的基本单位。

协程:有应用层自己负责调度器实现。优点:调度开销小。

常见IPC:共享内存、套接字、信号量、管道、消息队列。

  1. c++ 11智能指针内存管理方式和Golang的GC

这个说了引用计数,然后聊到内存分配的两级配置器。GC不了解。

  1. c++11 智能指针的循环引用怎么解决。

两种方式。1,调用reset主动释放。2. 使用弱引用weak_ptr

  1. docker和虚拟机区别?

轻量级。docker提供虚拟容器,虚拟机提供整个操作系统。

  1. TCP的可靠机制?

停止等待、滑动窗口、拥塞控制。接着谈谈拥塞控制四个算法。

  1. 网页上访问HTTP发生了什么?

DNS、创建网络连接、ARP、三次握手;HTTP协议封装等等顺着顺序说就行了。

  1. 描述竞态以及死锁并举例

指多个任务单元同时访问同一个资源,就会出现并发,竞态的现象。

  1. c/c++ 未定义行为是什么样子?举例

此题没搞懂,未定义的行为怎么去定义,不应该是随机的吗?

  1. 讲讲bootloader和image

知道不多,没有说。

  1. 讲讲Linux分区和挂载

岗位不同,没说。

  1. 谈谈Linux文件系统

知道不多,没说。

  1. 翻译一段英文文章,看了下,内容涉及多线程这一块。

pass。

  1. 动态规划的三个必要条件。

最优子结构性质。如果问题的最优解所包含的子问题的解也是最优的,我们就称该问题具有最优子结构性质(即满足最优化原理)。最优子结构性质为动态规划算法解决问题提供了重要线索。
无后效性。即子问题的解一旦确定,就不再改变,不受在这之后、包含它的更大的问题的求解决策影响。
子问题重叠性质。子问题重叠性质是指在用递归算法自顶向下对问题进行求解时,每次产生的子问题并不总是新问题,有些子问题会被重复计算多次。动态规划算法正是利用了这种子问题的重叠性质,对每一个子问题只计算一次,然后将其计算结果保存在一个表格中,当再次需要计算已经计算过的子问题时,只是在表格中简单地查看一下结果,从而获得较高的效率。

整体上偏向底层技术,难度中等,有深度,不要求全会,但是会的部分能够搞懂原理最好。

算法题给了个双指针算法,扩展题没想到堆排序。

基础题回答了大部分,涉及驱动部分知识没有讲,也不会。之前准备的redis、mongodb、kafka倒是一点没问,整个面试给人感觉良好,有所得,没有浪费时间。

相关文章
|
1月前
|
存储 安全 Java
每日大厂面试题大汇总 —— 今日的是“美团-后端开发-一面”
文章汇总了美团后端开发一面的面试题目,内容涉及哈希表、HashMap、二叉树遍历、数据库索引、死锁、事务隔离级别、Java对象相等性、多态、线程池拒绝策略、CAS、设计模式、Spring事务传播机制及RPC序列化工具等。
39 0
|
1月前
|
存储 消息中间件 NoSQL
每日大厂面试题大汇总 —— 今日的是“京东-后端开发-一面”
文章汇总了京东后端开发一面的面试题目,包括ArrayList与LinkedList的区别、HashMap的数据结构和操作、线程安全问题、线程池参数、MySQL存储引擎、Redis性能和线程模型、分布式锁处理、HTTP与HTTPS、Kafka等方面的问题。
89 0
|
3月前
|
缓存 弹性计算 API
用 Go 快速开发一个 RESTful API 服务
用 Go 快速开发一个 RESTful API 服务
|
9天前
|
Go 数据安全/隐私保护 开发者
Go语言开发
【10月更文挑战第26天】Go语言开发
24 3
|
10天前
|
Java 程序员 Go
Go语言的开发
【10月更文挑战第25天】Go语言的开发
20 3
|
28天前
|
Java 测试技术 程序员
「测试线排查的一些经验-上篇」&& 后端工程师
「测试线排查的一些经验-上篇」&& 后端工程师
15 1
|
1月前
|
SQL 安全 关系型数据库
第三次面试总结 - 吉云集团 - 全栈开发
本文是作者对吉云集团全栈开发岗位的第三次面试总结,面试结果非常好,内容全面覆盖了Java基础、MySQL和项目经验,作者认为自己的MySQL基础知识稍弱,需要加强。
31 0
第三次面试总结 - 吉云集团 - 全栈开发
|
27天前
|
消息中间件 存储 前端开发
资深Android开发的5个经典面试题
本文首发于公众号“AntDream”,欢迎关注。文章详细解答了五个常见的Android面试题,涵盖内存泄漏与溢出、Binder机制、MVC/MVP/MVVM架构、Handler机制及Context对象等内容,帮助读者深入了解Android开发的核心概念。
30 0
|
2月前
|
算法 程序员 Go
PHP 程序员学会了 Go 语言就能唬住面试官吗?
【9月更文挑战第8天】学会Go语言可提升PHP程序员的面试印象,但不足以 solely “唬住” 面试官。学习新语言能展现学习能力、拓宽技术视野,并增加就业机会。然而,实际项目经验、深入理解语言特性和综合能力更为关键。全面展示这些方面才能真正提升面试成功率。
56 10
|
1月前
|
NoSQL 前端开发 关系型数据库
第四次面试总结 — 嘉和智能 - 全栈开发
本文是作者对嘉和智能全栈开发岗位的第四次面试总结,主要围绕对各种技术栈的了解程度进行提问,包括数据库的使用经验、对Redis和nginx的理解以及前端技能水平。
16 0