写在前面

面试官超nice,以一种聊天的形式跟你交流。上午10点10左右开始,11点40结束。总的来说,基础还可以,但是有些东西的底层学的还是不够深。

问题回忆

自我介绍

怎么平衡科研与项目开发之间的时间

说说你在项目里做了哪些工作

简历里提到了代码重构,为什么重构?怎么重构的?

然后接下来就是关于SQLite数据库的各种问:为什么不用它了?怎么考虑线程安全的?为什么用LitePal开源框架,不用别的?LitePal底层是怎么实现的?读写是在一个线程里完成的吗?如果有巨多的同时写操作怎么办?

Android的Kotlin语言知道吧?说说与Java的区别。我说了5点,然后面试官说再往深里说,内存?效率?

了解网络编程吧?说说TCP、UDP的区别,最主要的区别是什么?什么时候用这两者?为什么握手三次(而不是2次、4次)?为什么挥手四次(而不是三次)?

做一道题吧:有100盏灯,编号依次为1,2,3.100,电灯全部关着。现在来了100个人,第一个人把所有的灯开关按下;第二个人隔一个灯按下(2,4,6...);第三个人每隔两个灯按下(3,6,9...).第100个人隔99个灯按下(100),最后还有几盏灯,那几盏灯亮着?

我看你用过SVN和git,说说它们的区别。

知道哈希吧,说说哈希算法

知道哈夫曼编码吗?我说本科时学过,他说那行,给你一堆数,构建一棵哈夫曼树。。。写完后,他笑着说,这题给你出简单了。。。

你有没有什么想问的?(常规三问:您是哪个部门的,做什么?对我今天面试的表现,简单评价一下?对我今后的学习或者工作提些建议?)

作者:BugFree

本文来源于牛客网

——————————

牛客网(www.nowcoder.com)

- 互联网名企笔试真题

- 校招求职笔经&面经

- 程序员求职实习信息

- 程序员学习交流社区

05-11 03:50