IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

有道实习生笔试总结

Programming Life with Music 2010-03-07 23:38:02 累计浏览 5,593 次
本机暂存

    首先要感谢Ant漂亮的简历模板。

    周三去参加了有道研发实习生的笔试。虽然很简单,但毕竟是人生的第一次笔试,想了想还是写点东西总结下。

    题目总的来说很基础,而且不多,一个半小时的时间非常充足。

    第一大题是一些基础概念的简答题,每题限制50字或者100字以内。一共5小题,有一题想不起来了:

  1. tcp和udp的区别
  2. process和thread的区别
  3. Ajax的概念和应用场景
  4. 介绍一下最近三个月听说的互联网产品

    题目都比较基础。庆幸去年暑假做了一点Firefox插件的开发(感谢晓松学长),Ajax那题目也算答出来了。互联网产品那题写了Google buzz(这个是人都会写)、sougou云输入法、goo.gl的短网址服务(一时想不出来了,拿这个凑数),虽然过年的时候花了那么多时间在网上,到要写点东西的时候还是捉襟见肘,以后要养成记笔记的习惯。

    第二大题要写出5种排序算法,并一句话简述原理和时间复杂度。我一高兴写了很多种,心想自己擅长的方面总要发挥一下嘛。

    最后是两道编程题

    第一题是给出一个图(不一定是连通图)的边表,求这个图是否含有环。

    这到题的题目中的数据结构描述很不清楚,我花了大概10分钟才看懂。把边表转换成邻接矩阵以后就是一个简单的DFS,大二学数据结构的时候自己也编过。但是由于缺乏笔试经验,平时也不怎么在纸上写程序,笔跟着思路走,难免这少一句那少一行,卷面变得相当混乱。以后遇到编程题,一定要在草稿纸上搭出框架,然后在写道卷面上。

    第二题是一道算法题,题目是:给出一个数字(10,000~100,000,000),把这个数字拆分成4段,怎样使得4段的乘积最小。比如12345拆分成1*2*3*45=270, 10000=1*00*0*0=0。

    其实这到题从直觉上觉得是一道动态规划,但是深知自己是个DP茫,推了一会没啥思路就放弃了,写了个暴力搜索了事(总不能空着吧)。出了考场给同学打电话,同学大概花了半分钟就想出来了。其实确实是个很简单的DP,该找个时间练练DP了….状态转移方程如下

     dp[i][j] = min{ dp[i-1][j-k]} * num[j-k+1][j], (k in [1, j-i+1]) }

     i是当前分段数,j是当前扫描到的字符串位置,num[i][j]是从第i个数字到第j个数字组成的数

    总共花了大概一个小时,提前交了卷敢回去上下午的课。

    PS:下午刚接到电话,笔试过了,下周一面试,得好好准备一下,人生第一次面试就要来了。

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. gen_tcp发送进程被挂起起因分析及对策 (累计阅读 37,821)
  2. TCP 的那些事儿(上) (累计阅读 22,696)
  3. 从输入 URL 到页面加载完成的过程中都发生了什么事情? (累计阅读 15,933)
  4. 自建DNS以防止GFW干扰 (累计阅读 13,125)
  5. 浅谈TCP优化 (累计阅读 11,082)
  6. 推荐一些socket工具,TCP、UDP调试、抓包工具 (累计阅读 10,844)
  7. 查看 Apache并发请求数及其TCP连接状态 (累计阅读 10,068)
  8. 推荐一些socket工具,TCP、UDP调试、抓包工具 (累计阅读 8,840)
  9. 关于 SOCKS 代理的远端 DNS 解析 (累计阅读 7,984)
  10. websocket 连接 C Server的尝试 (累计阅读 7,922)